Aktualizovat du5/program.c
This commit is contained in:
parent
8d54f444ab
commit
8102459d0d
@ -26,7 +26,8 @@ const int invalidIndex = -1;
|
|||||||
|
|
||||||
// vytvorii binarny strom na zakl. vstupu
|
// vytvorii binarny strom na zakl. vstupu
|
||||||
//** VRATI -> Bud cislo > 0 (Platny Koren) ALEBO stav '-1' (Neplatny index korenu, cize koniec stromu)
|
//** VRATI -> Bud cislo > 0 (Platny Koren) ALEBO stav '-1' (Neplatny index korenu, cize koniec stromu)
|
||||||
int buildATree() {
|
int buildATree()
|
||||||
|
{
|
||||||
if (indexLine >= lineCount)
|
if (indexLine >= lineCount)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
@ -49,7 +50,7 @@ int buildATree() {
|
|||||||
tree[current].isAnswer = false;
|
tree[current].isAnswer = false;
|
||||||
strcpy(tree[current].text, line);
|
strcpy(tree[current].text, line);
|
||||||
|
|
||||||
//rekurzivne vytvorii dalsie 'nodes' na na zaklade vycitanych odpovedi z standard inputu
|
//rekurzivne vytvorii dalsie 'nodes' (uzly po slovensky) na na zaklade vycitanych odpovedi z standard inputu
|
||||||
tree[current].yes = buildATree(); // 'a'
|
tree[current].yes = buildATree(); // 'a'
|
||||||
tree[current].no = buildATree(); // 'n'
|
tree[current].no = buildATree(); // 'n'
|
||||||
|
|
||||||
@ -62,7 +63,6 @@ void goThroughTheTree(int rootIndex)
|
|||||||
int current = rootIndex;
|
int current = rootIndex;
|
||||||
char input;
|
char input;
|
||||||
|
|
||||||
//
|
|
||||||
while (current != -1)
|
while (current != -1)
|
||||||
{
|
{
|
||||||
if (tree[current].isAnswer)
|
if (tree[current].isAnswer)
|
||||||
@ -73,6 +73,8 @@ void goThroughTheTree(int rootIndex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
printf("%s\n", tree[current].text);
|
printf("%s\n", tree[current].text);
|
||||||
|
|
||||||
|
//nacitanie odpovedi (jeden char)
|
||||||
scanf(" %c", &input);
|
scanf(" %c", &input);
|
||||||
|
|
||||||
if (input == 'a')
|
if (input == 'a')
|
||||||
@ -95,7 +97,10 @@ int main()
|
|||||||
{
|
{
|
||||||
char buffer[SIZE];
|
char buffer[SIZE];
|
||||||
|
|
||||||
// Load input/
|
//null-terminovanie
|
||||||
|
buffer[0] = '\0';
|
||||||
|
|
||||||
|
// citanie vstupu
|
||||||
while (fgets(buffer, SIZE, stdin))
|
while (fgets(buffer, SIZE, stdin))
|
||||||
{
|
{
|
||||||
//prestane citat vstup, ak je NEPLATNY
|
//prestane citat vstup, ak je NEPLATNY
|
||||||
@ -103,7 +108,7 @@ int main()
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//nahradi NewLine symbol za null terminator (Newline sa prida naspat potom na konci)
|
//nahradi NewLine symbol za null terminator (Newline sa prida naspat potom na konci programu)
|
||||||
for (int i = 0; i < SIZE; i++)
|
for (int i = 0; i < SIZE; i++)
|
||||||
{
|
{
|
||||||
if (buffer[i] == '\n')
|
if (buffer[i] == '\n')
|
||||||
@ -115,6 +120,7 @@ int main()
|
|||||||
strcpy(lines[lineCount], buffer);
|
strcpy(lines[lineCount], buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//zisk. korena
|
||||||
int root = buildATree();
|
int root = buildATree();
|
||||||
|
|
||||||
if (root == -1 || indexLine != lineCount) {
|
if (root == -1 || indexLine != lineCount) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user