Oprava chyb na podnet Richard Ševc

This commit is contained in:
Adam Ujházi 2019-05-12 18:08:22 +00:00
parent defcc33615
commit 01a7e66049

View File

@ -23,7 +23,7 @@ void pridaj_slovo(struct database* database, char* word);
void zobraz_strom(struct database* zobraz); void zobraz_strom(struct database* zobraz);
struct database { struct database {
char slovo[30]; char slovo[20];
int count; int count;
struct database* left; struct database* left;
struct database* right; struct database* right;
@ -85,7 +85,7 @@ void pridaj_slovo(struct database* database, char* word) {
while(1) { while(1) {
//porovnaj slovo s tym co je v databaze //porovnaj slovo s tym co je v databaze
comp = strcmp(temp->slovo, word); comp = strcmp(word, temp->slovo);
//ak sa rovna, zvys jeho pocetnost o jeden a opusti funkciu //ak sa rovna, zvys jeho pocetnost o jeden a opusti funkciu
if(comp == 0) { if(comp == 0) {
@ -104,7 +104,7 @@ void pridaj_slovo(struct database* database, char* word) {
} }
//pokial sa na lavej adrese nachadza dalsia bunka, zmen adresu z aktualnej bunky na nu a opakuj cyklus od porovnania slova //pokial sa na lavej adrese nachadza dalsia bunka, zmen adresu z aktualnej bunky na nu a opakuj cyklus od porovnania slova
else { else {
temp = temp->right; temp = temp->left;
} }
} }
//pokial je posledny porovnavany znak noveho slova vacsi nez toho ulozeneho, pracuj s pravou vetvou //pokial je posledny porovnavany znak noveho slova vacsi nez toho ulozeneho, pracuj s pravou vetvou
@ -161,7 +161,7 @@ void zobraz_strom(struct database* zobraz) {
if(zobraz->left == NULL && zobraz->right == NULL) return; if(zobraz->left == NULL && zobraz->right == NULL) return;
//pred tym ako pojdes kontrolovat pravu bunku a vojdes do nej, skontroluj ci pocetnost je viac ako 1 a slovo uz nebolo vypisane (kontrola pre pripad ze vlavo neboli bunky, slovo sa vypisalo, no vpravo este bunky su), vypis slovo a pokracuj v kontrole pritomnosti pravej bunky //pred tym ako pojdes kontrolovat pravu bunku a vojdes do nej, skontroluj ci pocetnost je viac ako 1 a slovo uz nebolo vypisane (kontrola pre pripad ze vlavo neboli bunky, slovo sa vypisalo, no vpravo este bunky su), vypis slovo a pokracuj v kontrole pritomnosti pravej bunky
if(zobraz->count >= 1 && vypisane == 0) { if(zobraz->count > 1 && vypisane == 0) {
pocet++; pocet++;
printf("%s %d\n", zobraz->slovo, zobraz->count); printf("%s %d\n", zobraz->slovo, zobraz->count);
} }