003
30.04.2007, 01:09 Uhr
Lensflare
|
C++: |
#include <stdio.h> #include <ctype.h>
bool anagramm(char *s1, char *s2) { int a1[26]; int a2[26]; bool b = true; for(int i=0; i<26; i++) { a1[i] = 0; a2[i] = 0; } while(*s1 != '\0') { if(isalpha(*s1)) a1[toupper(*s1)-65]++; if(isalpha(*s2)) a2[toupper(*s2)-65]++; s1++; s2++; } for(int i=0; i<26; i++) { if(a1[i] != a2[i]) b = false; } return b; }
int main() { if(anagramm("Alles wird gut","Lustiger Wald")) printf("ja"); else printf("nein"); getchar(); }
|
Ich habe das zwar mit einem C++ compiler getestet, aber ich denke so sollte es auch in C gehen.
Man muss nur beachten, dass die beiden übergebenen strings nicht unterschiedlich lang sein dürfen. -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) |