Форум программистов, компьютерный форум CyberForum.ru

Бинарное дерево - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Может кто-то перевести этот код из паскаля в с++ http://www.cyberforum.ru/cpp-beginners/thread1494194.html
Есть код на Pascal. Может ли кто-то перевести? const n = 200; function O (s : string) : boolean; var i,l : integer; c : char; r : boolean;
C++ Присвоить каждому значению массива значение индекса доброго времени суток. проблема - перебираем массив и присваиваем каждому значению массива значение индекса, но при отображении билибирда какая то. результат в картинке. #include <string> #include <iostream> #include <bitset> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread1494176.html
C++ Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию
Задание: Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию. Использовать три метода сортировки. в конце нужно сделать примерно так: массив: -2, 0, 5, -4, 6, 1; отсортированный массив: -2, 0, 0, -4, 5, 6; как это сделать? #include <iostream> #include <cmath> #include <iomanip> using namespace std;
Графика + консоль. Как? C++
Вечер добрый! Подскажите как в С++ сделать графическое меню, с фоновой картинкой и прочими плюшками. А при нажатии на кнопку "Играть" вызывалась консольная игрушка (морской бой). Сама игрушка уже написана, а вот с графикой не работал и гугл не помог мне в этом вопросе. Подскажите, люди добрые :( Примерно так должно выглядеть главное меню: Главное меню (текст) | Играть (кнопка, переход в...
C++ Что значит ":" после параметров функции http://www.cyberforum.ru/cpp-beginners/thread1494132.html
CSimpleString::CSimpleString(const char* p) : len(0), buff(nullptr) Что значит len(0), buff(nullptr) и как это называется ?
C++ Отличие классов stack<> и forward_list<> В чем отличие классов stack<> и forward_list<>? подробнее

Показать сообщение отдельно
Ocean1
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 26
06.07.2015, 21:10     Бинарное дерево
Помогите исправить ошибку, компилятор ругается на 110 строку, не пойму почему(
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include<fstream>
#include <string>
using namespace std;
struct node
{
    char data;
    node *left,*right, *back;
    int visited;
    node():visited(0){}
};
 
class Stack
{
    int sp;
    node* mass[100000];
 
public:
    Stack()
    {
        sp = 0;
    }
 
    void Pop();
    void Push(node* x);
    
    node* Top();
    bool Empty();
};
 
 
 
bool Stack::Empty()
{
    if (sp == 0)
        return 1;
    else
        return 0;
}
 
 
void Stack::Push(node* x)
{
   *mass[sp++] = *x;
}
 
void Stack::Pop()
{
    sp--;
}
 
node* Stack::Top()
{
    return( mass[sp - 1]);
}
 
void print(node *root)
{
    if (!root)
    {
        cout<<"в дереве пусто"<<endl;
        return;
    }
    Stack myStack;
    myStack.Push(root);
    root->visited=1;
    node *cur=NULL;
    while(!myStack.Empty())
    {
        cur=myStack.Top();
        if (cur->left && !cur->left->visited)
        {
            myStack.Push(cur->left);
            cur->left->visited=1;
        }
        else if(cur->right && !cur->right->visited)
        {
myStack.Push((cur->right));
cur->right->visited=1;
        }
        else
        {
            cout<<cur->data<<" ";
            myStack.Pop();
        }
    }
}
int main()
{
    setlocale(LC_ALL,"Russian");
    char *String=new char[2048];
    ifstream in("file.txt");
    in>>String;
    in.close();
     char *strpos=new char[strlen(String)];
 strpos=String;
    char c,b;
    node *cur=new node;
    c=*strpos;
    cur->data=*strpos;
    c=*++strpos;
    for (int i=1;i<strlen(String);i++)
    {
        if (c=='[')
            c=*++strpos;
        if((c>='a')&&(c<='z'))
        {
            b=cur->back->data;
            if(b>c)
            {
                cur->left->data=c;
                c=*++strpos;
                cur->left;
            }
            else
            {
                cur->right->data=c;
                c=*++strpos;
                cur->right;
            }
        }
        if ((c==']') ||(c==','))
        {
            cur->back;
            c=*++strpos;
        }
    }
    print(cur);
    system ("pause");
}
Вложения
Тип файла: txt file.txt (27 байт, 2 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru