From ddf3553b86fb4afbbb6b80d22f69c8a40ff4835d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Gejdo=C5=A1?= Date: Wed, 15 Apr 2026 08:25:39 +0000 Subject: [PATCH] osetrene ked mam pokazeny vstup --- du5/program.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/du5/program.c b/du5/program.c index 2cb9a94..b64cb2f 100644 --- a/du5/program.c +++ b/du5/program.c @@ -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; }