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

Построение бинарного дерева. Где ошибка? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread1186617.html
Друзья, помогите с перегрузкой некоторых операций, пожалуйста) Задание: Есть угол на плоскости(поля угол и минуты). Перегрузить операторы +, -, ==, !=, <, <=, >, >=. Также должны быть методы: конструктор, деструктор, метод для вывода значения угла на экран, метод перевода значения угла в радианы, метод приведения угла к диапазону 0 - 360. Вот что у меня есть: #include "kyt.h" #include...
C++ проверка на ошибки Добрый день. Я пыталась в свою программу вставить конструкторы ( по умолчанию и копии) + деструкторы. Вроде получилось. Но не знаю правильно ли я это сделала. Мне нужно было еще сделать указатель this явным. Помогите пожалуйста проверить мою программу. #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread1186588.html
C++ Вывести к-ю цифру последовательности Фибоначчи
Вот сама задача: Дано натуральное k. Вывести k-ую цифру последовательности 1123581321…, в которой выписаны подряд все числа Фибоначчи. #include "stdafx.h" #include "stdio.h" #include <math.h> #include "conio.h" #include "locale.h" #include <iostream>
C++ Логический оператор AND
Помогите понят что делает этот код и как. char *cp="Hello World!"; while(cp && *cp) Я не могу понят первая строка указатель или массив. Если это массив то где фигурные скобки, или оператор new. В любом случае *cp указывает на "Hello World!". Тогда что делает цикл while? cp или *cp не может быт false ибо один инициализиован как строка другой адрес. Если я рассуждаю верно то цикл while...
C++ Const char несовместим с параметром типа FILE http://www.cyberforum.ru/cpp-beginners/thread1186477.html
Привет всем. У меня возникла проблема. Пишу программу, связанную с файлами. Вот первый отрывочек проги. #include <stdio.h> int main() { int n, m; fopen("rect.dat", "w"); fscanf("%d %d", &n,&m); Мне подчеркивает "%d %d" и пишет "const char несовместим с параметром типа FILE". Какой const char, если у меня везде int? Извините, что пишу не в раздел "C", так как здесь быстрее ответят....
C++ Перегрузка функторов в STL Просто любопытно, заметил такую вещь: есть скажем перегруженая функция show(int &a) и show(string& a) есть контейнер list<int> b или любой аналогичный, есть for_each(b.begin(),b.end(),show) который я хочу использовать, если закомментить 2ой show(string& ) то всё ок, если же функция перегружена, то выдаёт ошибку. Помнится что при перегрузке функции компилятор немного "видоизменяет" их названия... подробнее

Показать сообщение отдельно
vab9petryk
 Аватар для vab9petryk
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 212
24.05.2014, 23:36     Построение бинарного дерева. Где ошибка?
Насколько понял, tree->left, tree->right указывает на NULL. Почему, не могу разобратся.
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
#include <iostream>
#include <ctime>
using namespace std;
struct node {
       char letter;
       node *left, *right;
}*tree = NULL;
 
node *add_tree (int n){
     node *ptr, *root = new node;
     root->left = root->right = NULL;
     cout<<"Vvedite ";
     cin>>root->letter;
     srand (time(NULL));
     while (n > 0){
           ptr = root;
           while (ptr){
                 if (rand()%10<5) ptr = ptr->left;
                 else ptr = ptr->right;
                 }
           ptr = new node;
           ptr->left = ptr->right = NULL;
           cout<<"Vvedite znach ";
           cin>>ptr->letter;
           n--;
           }
     return root;
     }
     
void vyvod(node *ptr, int l){
  int i;
  if (ptr) {
    vyvod(ptr->right, l+1);
    for (i=0; i< l; i++) cout << "    ";
    cout<<ptr->letter;
    vyvod(ptr->left, l+1);
  }
  else cout << endl;
}
 
int main(){
    tree = add_tree (4);
    vyvod (tree, 1);
    system("pause");
    return 0;
    }
Добавлено через 10 часов 20 минут
upd
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru