Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.10.2014
Сообщений: 12
1

Деревья (нужны комментарии)

16.12.2015, 16:09. Показов 390. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите понять программу, если можете то опишите комментариями рядом, что и зачем)буду очень благодарна)
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
92
93
#include <iostream>
#include <conio.h>
#include <string>
 
using namespace std;
 
struct Node
{
    string data;
    Node *right, *left;
};
 
void Creation(string tree_line, Node *MyTree)
{
    MyTree->data = tree_line[0];
    tree_line.erase(0, 1);
    if(!tree_line.empty())
    {
        MyTree->left = new Node;
        MyTree->right = new Node;
        Creation(tree_line, MyTree->left);
        Creation("*", MyTree->right);
    }
    else
    {
        MyTree->left = NULL;
        MyTree->right = NULL;
    }
}
 
void Prefix(Node *MyTree)
{
    if(MyTree != NULL)
    {
        cout << MyTree->data;
        Prefix(MyTree->left);
        Prefix(MyTree->right);
    }
}
 
void Infix(Node *MyTree)
{
    if(MyTree != NULL)
    {
        Infix(MyTree->left);
        cout << MyTree->data;
        Infix(MyTree->right);
    }
}
 
void Postfix(Node *MyTree)
{
    if(MyTree != NULL)
    {
        Postfix(MyTree->left);
        Postfix(MyTree->right);
        cout << MyTree->data;
    }
}
 
void Show(Node *MyTree, int n)
{
    if(MyTree == NULL)
        return;
    else
    {
        Show(MyTree->left, ++n);
        for(int i = 0; i < n; i++)
            cout << "|";
        cout << MyTree->data << endl;
        n--;
    }
        Show(MyTree->right, ++n);
}
 
 
void main()
{
    string tree_line;
    Node *Tree = new Node;
    cout << "Vvedite stroku: ";
    getline(cin, tree_line);
    Creation(tree_line, Tree);
    cout << "\n";
    Show(Tree, 0);
    cout << "\nPrefix  ";
    Prefix(Tree);
    cout << "\nInfix   ";
    Infix(Tree);
    cout << "\nPostfix  ";
    Postfix(Tree);
    cin.get();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2015, 16:09
Ответы с готовыми решениями:

Зачем нужны деревья?
Изучил тему деревья (осуществлял втавки, удаление, обходы и т.д.). Теперь хочу разобраться, зачем...

Нужны комментарии к коду
помогите пожалуйста что и как он делает, вижу только конечный результат но хочу разобраться...

Нужны комментарии к коду
что здесь происходить double *x=new double ; double **b=new double *; for(i=0;i&lt;n;i++) ...

Нужны комментарии к коду
#include&lt;iostream.h&gt; #include&lt;math.h&gt; int maximal(int n,double R0); void main(){ int...

0
16.12.2015, 16:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2015, 16:09
Помогаю со студенческими работами здесь

Нужны комментарии к коду
#include &lt;iostream&gt; using namespace std; int main() { int n, m, sum = 1, max, t; cin...

Нужны комментарии к коду
меня интересуют вот эти три строки ,что они делают в данном коде.какой их тут смысл. C.pSet =...

Нужны комментарии к коду
pair&lt;bool, array&lt;int, 81&gt;&gt; SOL(const char* inp) { array&lt;int, 81&gt; ANS; int* TAB = ANS.data();...

Нужны комментарии к коду
если можно расписать каждое действие #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru