diff --git a/du5/program.c b/du5/program.c index e95cdec..eab2ed7 100644 --- a/du5/program.c +++ b/du5/program.c @@ -14,12 +14,16 @@ typedef struct Tree { // читання дерева (preorder) Tree* readTree() { char line[SIZE]; + int error = 0; if (fgets(line, SIZE, stdin) == NULL) return NULL; line[strcspn(line, "\r\n")] = 0; - if (line[0] == '\0') return NULL; + if (line[0] == '\0') { + error = 1; + return NULL; +} Tree *node = (Tree*)malloc(sizeof(Tree)); node->yes = NULL; @@ -35,6 +39,10 @@ Tree* readTree() { node->yes = readTree(); node->no = readTree(); + + if (!node->yes || !node->no) { + error = 1; + } } return node; @@ -103,7 +111,7 @@ int main() { Tree *root = readTree(); - if (!root) { + if (!root || error) { printf("Chybna databaza\n"); return 0; }