Witam, piszę program w MPI i napotkałem na problem który nwm z czym jest związany. Kod jest działający ale przy wczytaniu znaków do tablicy i próbie przekazania tej tablicy znakowej do funkcji sprawdzającej if_anagram
nie wczytuje się pierwsza litera tablicy b[]
a przed wczytaniem i próbą wyświetlenia wartość jest pobierana prawidłowo. Co robię źle?
Miejsce przekazywania w programie:
char b[51] = { 0 };
int j=0;
for (int i=locstart; i<=locend; i++) {
char c = chunk[i];
if(c=='\n'){
printf("Proces %d: %s\n", rank, b);
//printf("%s\n", a);
if(if_anagram(a,b)) printf("Wyraz %s jest anagramem!\n", b);
j=0;
}
else{
b[j] = c;
j++;
}
}
Funkcja sprawdzająca:
bool if_anagram(char *a, char *b)
{
printf("uruchomiona\n");
printf("%s \n", a);
printf("%s \n", b);
int dl1 = strlen(a), dl2 = strlen(b);
if(dl1!=dl2) return false;
if(strcmp(a,b) == 0) return false;
int licz[0x100]={};
for(int i=0;i<dl1;i++)
licz[(unsigned char) a[i]]++;
for(int i=0;i<dl1;i++)
licz[(unsigned char) b[i]]--;
for(int i=0;i<256;i++)
if(licz[i]!=0)
return false;
return true;
}
Uruchomiony program: