Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 3
Регистрация: 10.04.2014
Сообщений: 95
1

Разработать программу, которая выводит на экран элементы из всех листьев дерева

14.05.2018, 13:38. Показов 558. Ответов 4
Метки нет (Все метки)

Разработать программу, которая выводит на экран элементы из всех листьев дерева
Ругается на 33 строку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
struct btree {
    btree() :e(), l(), r() {}
    int e;
    btree *l, *r;
};
 
struct list {
    btree *z;
    list *next;
};
typedef list stack;
 
stack *iinput(btree *x, stack *head) {//?????????? ???????? ? ????
    stack *s;
    s = new list;
    s->z = x;
    s->next = head;
    head = s;
    return head;
}
 
btree *gget(stack **head) {//?????? ???????? ?? ?????
    btree *x = (*head)->z;
    stack *g = (*head)->next;
    *head = NULL;
    *head = g;
    return x;
}
 
void add(btree **t, int value){//???? ??????
    if (*t == NULL) {
        *t = new btree;
        (*t)->e = value;
    }
    else  {
        btree *t2 = *t;
        while (t2 != NULL)  {
            if (t2->e < value)  { //??????? 
                if (t2->r == NULL)  {
                    t2->r = new btree;
                    t2->r->e = value;
                    t2 = NULL;  }
                else  {
                    t2 = t2->r; }   }
            else{ //?????? 
                if (t2->l == NULL)  {
                    t2->l = new btree;
                    t2->l->e = value;
                    t2 = NULL;  }
                else  {
                    t2 = t2->l;
}}}}}
 
void obh(btree *d) {//?????????? ????? ???? ?? ????????? ??????? ? ?????????? ?????????
    stack *S = NULL; int F = 1, x;
    printf("zadaite zna4enie  \n");
    scanf("%d", &x);
    while (F){
        while (d != NULL) {
            S = iinput(d, S);
            d = d->l;
        } 
        if (S != NULL) { 
            d = gget(&S);
 
//???????? ????????
 
            d = d->r;
        }
        else F = 0;
    }
    printf("dlina puti= %d \n", p);
}
 
int main(){
    int x;
    btree *T = NULL;
    printf("vvedite derevo \n");
    while ((_kbhit() == 0) && (_getch() != 27)) {
        scanf("%d", &x);
        add(&T, x);
    }
    printf("okon4en vvod dereva \n");
    obh(T);
    _getch();
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2018, 13:38
Ответы с готовыми решениями:

Разработать программу, которая выводит на экран элементы из всех листьев дерева
Разработать программу, которая выводит на экран элементы из всех листьев дерева #define...

Функция, которая печатает элементы из всех листьев бинарного дерева
Написать функцию, которая печатает элементы из всех листьев дерева. Добавлено через 2 часа 26...

Написать рекурсивную процедуру, которая печатает элементы из всех листьев дерева
Добрый день! Прошу помочь с написанием программы: Написать рекурсивную процедуру, которая...

Разработать программу которая выводит на экран, которая выводит содержимое текущего каталога, упорядоченное по времени
Помогите пожалуйста!! В уинвере не изучали язык С++ а заставляют на нем написать программку (( В...

4
74 / 58 / 31
Регистрация: 20.03.2017
Сообщений: 351
14.05.2018, 13:42 2
D3NZO, что пишет?
У вас в 77 строке выводится значение p:
C++
1
printf("dlina puti= %d \n", p);
, а где оно определено?
0
0 / 0 / 3
Регистрация: 10.04.2014
Сообщений: 95
14.05.2018, 14:46  [ТС] 3
делал давно, не помню
0
74 / 58 / 31
Регистрация: 20.03.2017
Сообщений: 351
14.05.2018, 15:47 4
D3NZO, у меня на неё ругается, т.к. она неопределена.
0
0 / 0 / 3
Регистрация: 10.04.2014
Сообщений: 95
15.05.2018, 13:17  [ТС] 5
Если убрать то ломается, не помню что за переменная
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2018, 13:17

Вывести элементы из всех листьев дерева
Здравствуйте, помогите пожалуйста с заданием по прологу, нужно вывести элементы из всех листьев...

Разработать программу, которая выводит на экран
Разработать программу, которая выводит на экран монитора одним оператором Ваша фамилия, имя,...

Разработать программу, которая выводит на экран ёлочку
Разработать программу, которая выводит на экран ёлочку (три уменьшающихся треугольника зеленого...

Разработать программу, которая выводит на экран геометрическую фигуру
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.