Zdravím lidi, mám následující problém. Mám funkci a v ní "prázdnou" smyčku. Ale vždy, když má dojít k její spuštění, program se prostě zasekne a nic se neděje ... Už si s tím vůbec nevím rady ... :smile10:
void MakeTable(char heslo[])
{
char delka_hesla = strlen(heslo);
char new_size = 0;
char akt_znak = 0;
bool flag = 0;
// Nakopíruje znaky z 'hesla' do 'Table' bez opakujících se znaků:
//Postupně projede 'Table' (pouze bunky do velikosti hesla)
for(char a = 0; a < delka_hesla; a++)
{
//Postupně projede předcházející znaky v tabulce,
//a zjistí jestli další přidávaný znakjiž není obsažen
for(char j = 0; j<a; j++)
{
// Pokud ano, skočí na další znak v hesle a znovu porovnává
// s již zapsanými znaky do proměnné 'Table'
if(Table[j] == heslo[akt_znak])
{
akt_znak++;
// Pokud, ale další index již přesahuje proměnnou, vyskočí ven
// (již nezbývají další znaky k zapsání)
if(akt_znak >= delka_hesla-1)
{
flag=1;
break;
}
j=-1; // Zajistí nové opakování smyčky
}//if
}//for
if(flag) break; // Vyskočí, pokud již není další znak k dispozici
Table[a] = heslo[akt_znak];
new_size++; // přičte 1 k délce proměnné 'Table'
akt_znak++;
}//for(basic)
for(char a = new_size; b < 256; b++)
{
// Smyška, která zajišťuje pád programu
}
ofstream write("soubor.txt");
write << Table;
write.close();
}