Tak už sem něco vyřešil, zasekl jsem se ale u cyklu, který má porovnávat slova.
Mám například tyto slova {A:bxc A:yc A:bxzd A:yzd}. Jedná se o výběr slov, která mají stejný znak na první a třetí pozici.
No a cyklus by měl umět vytisknout v každým kroku slova, která jsou shodná na třetí až n-té pozici (a vypsat, index, kam až jsou prvky shodné).
1. krok = A:bxc A:bxzd (shoda: bx = až k čtvrté pozici)
2. krok = A:yc A:yzd (shoda: y = až ke třetí pozici)
Pokud by nastal případ, že slova by byla tyto {A:a A:abc A:abx}, tak by krok měl vypadat:
1. krok = A:a A:abc A:abx (shoda: a = až ke třetí pozici)
Zatím mám udělané procházení mezi slovy.. ale nevím jak udělat to porovnávání "do N"
int i;
char temp_buffer [strlen(buffer)+1];
char working_buffer [strlen(buffer)+1];
strcpy(temp_buffer, buffer);
strcpy(working_buffer, buffer);
for (token_b = strtok_r(temp_buffer, " ", &next_token_b); token_b; token_b = strtok_r(NULL, " ", &next_token_b))
{
for (token_c = strtok_r(working_buffer, " ", &next_token_c); token_c; token_c = strtok_r(NULL, " ", &next_token_c))
{
if (token_b[2] == token_c[2])
{
printf("TOken {%s}\n", token_b);
}
}
}