osetrene ked mam pokazeny vstup

This commit is contained in:
Kamil Gejdoš 2026-04-15 08:25:39 +00:00
parent b430a3f712
commit ddf3553b86

View File

@ -9,7 +9,7 @@ struct uzol { //zakladna struktura, kam nahram otazky a referencie
struct uzol *pravy;
};
struct uzol* nacitaj_data() { // todo, rekurzivne pomazat z pamate
struct uzol* nacitaj_data(int *i) { // todo, rekurzivne pomazat z pamate
char riadok[100]; // o velkosti otazky alebo ovocia
if (!fgets(riadok, 100, stdin)) return NULL; // ak nahram NULL
@ -26,8 +26,9 @@ struct uzol* nacitaj_data() { // todo, rekurzivne pomazat z pamate
uzol -> lavy = NULL;
uzol -> pravy = NULL;
} else { // rekurzivne nacitam najprv lavy koren, potom pravy ak to bola otazka
uzol -> lavy = nacitaj_data();
uzol -> pravy = nacitaj_data();
uzol -> lavy = nacitaj_data(i);
uzol -> pravy = nacitaj_data(i);
if (uzol -> pravy == NULL || uzol -> lavy == NULL) *i++; // ak nie som na liste a nemam pod otazkou pokracovanie na 2 vetvy, koncim s chybou
}
return uzol; // vyplneny strom
}
@ -71,11 +72,12 @@ void destroy_tree (struct uzol* strom){
int main() {
struct uzol* strom = nacitaj_data();
int i = 0; // i indikuje ci najdem chybu v strome, mam vo funkcii i++ cize viem aj indikovat kde je cca chyba
struct uzol* strom = nacitaj_data(*i);
printf("Expert z bufetu to vie.\n");
if (!strom) {
if (!strom || i > 0) {
printf("Chybna databaza\n");
return 0;
}