#include #include /* konstanta koja oznacava maksimalan broj karaktera niske */ #define MAX_DUZINA 20 /* funkcija uredi sortira karaktere niske u rastucem poretku */ void uredi(char s[]){ int i, j, n; char tmp; /* odredjujemo duzinu niske s */ n=strlen(s); /* i sortiramo... */ for(i=0;is[j]){ tmp=s[i]; s[i]=s[j]; s[j]=tmp; } } /* funkcija anagrami() proverava da li su niske s1 i s2 anagrami; ideja je sortirati karaktere i prve i druge niske, a zatim uporediti da li su te dve niske iste; ukoliko jesu, unete reci su anagrami */ int anagrami( char s1[], char s2[]){ /* uredjujemo karaktere prve niske */ uredi(s1); /* uredjujemo karaktere druge niske */ uredi(s2); /* ukoliko su niske jednake */ if(strcmp(s1,s2)==0) /* vracamo indikator 1 */ return 1; /* dok u suprotnom vracamo kao indikator 0 */ return 0; } int main(void){ /* niske koje unosi korisnik */ char s1[MAX_DUZINA+1], s2[MAX_DUZINA+1]; /* ucitavamo prvu nisku */ printf("Unesite prvu nisku: "); scanf("%s", s1); /* ucitavamo drugu nisku */ printf("Unesite drugu nisku: "); scanf("%s", s2); /* proveravamo da li su niske anagrami */ if(anagrami(s1,s2)==1) printf("Unete niske su anagrami!\n"); else printf("Unete niske nisu anagrami!\n"); return 0; }