test
This commit is contained in:
parent
2f4cdb9d7c
commit
c11006e42b
@ -37,6 +37,19 @@ Node* readTree() {
|
|||||||
return x; // vrátime uzol
|
return x; // vrátime uzol
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int valid(Node *x) {
|
||||||
|
if (!x) return 0;
|
||||||
|
|
||||||
|
if (x->leaf) {
|
||||||
|
return x->a == NULL && x->n == NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!x->a || !x->n) return 0;
|
||||||
|
|
||||||
|
return valid(x->a) && valid(x->n);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// funkcia na spočítanie listov v strome
|
// funkcia na spočítanie listov v strome
|
||||||
int count(Node *x) {
|
int count(Node *x) {
|
||||||
if (!x) return 0; // prázdny uzol = 0
|
if (!x) return 0; // prázdny uzol = 0
|
||||||
@ -85,11 +98,17 @@ int main() {
|
|||||||
Node *root = readTree(); // načítame strom zo vstupu
|
Node *root = readTree(); // načítame strom zo vstupu
|
||||||
printf("Expert z bufetu to vie.\n"); // vždy vypíšeme tento riadok
|
printf("Expert z bufetu to vie.\n"); // vždy vypíšeme tento riadok
|
||||||
|
|
||||||
if (!root) { // ak strom je prázdny alebo chybne načítaný
|
if (!root || !valid(root)) {
|
||||||
printf("Chybna databaza\n");
|
printf("Chybna databaza\n");
|
||||||
|
freeTree(root);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
fgets(s, MAX, stdin); // prečítame prázdny riadok medzi databázou a vstupom používateľa
|
if (!fgets(s, MAX, stdin) || s[0] != '\n') {
|
||||||
|
printf("Chybna databaza\n");
|
||||||
|
freeTree(root);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
// prečítame prázdny riadok medzi databázou a vstupom používateľa
|
||||||
|
|
||||||
int k = count(root); // spočítame počet listov (druhov tovaru)
|
int k = count(root); // spočítame počet listov (druhov tovaru)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user