Anonymní profil Sprinter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Sprinter – Programujte.comAnonymní profil Sprinter – Programujte.com

 

Příspěvky odeslané z IP adresy 78.102.208.–

Sprinter
C / C++ › Algoritmus pro substituci
19. 1. 2013   #170367

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);
			}
		}	
	}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý