Wiem, że był już tutaj wątek o podobny program, ale mój kod jest inny i mam mały błąd. Program ma sprawdzać czy podane wyrazy są anagramami, wszystko ładnie działa, dopóki nie pojawia się wyrazy typu: "kot" i "koy". Różnią się tylko literką na końcu, a mimo to program pokazuję mi, że to są też anagramy. Wiecie może jak tu coś zmienić?
#include <stdio.h>
#include <string.h>
void czyanagram(char tab1[], char tab2[])
{
if(strlen(tab1)==strlen(tab2))
{
int i, n, flaga ;
int znak_tab2 ;
int znak_tab1 ;
for(i=0 ; i<(strlen(tab1)-1) ; i++ )
flaga= 0 ;
znak_tab1 = tab1[i] ;
for(n=0 ; n<(strlen(tab2)-1)&& flaga ==0 ; n++ )
znak_tab2 = tab2[n] ;
if (znak_tab1 == znak_tab2)
flaga = 1 ;
if(flaga==0)
{
printf("to sa anagramy") ;
}
else printf("to nie sa anagramy") ;
}
else printf("to nie sa anagramy");
}
int main()
{
char s1[100];
char s2[100];
scanf("%99s",s1);
scanf("%99s",s2);
czyanagram(s1,s2);
return 0 ;
}