Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ поиск по имени в базе данных через хэш - таблицы #include <iostream> #include <cstring> using namespace std; struct Player { char *name; int age; int soccer_number; https://www.cyberforum.ru/ cpp-beginners/ thread720540.html Даны натуральное число n, действительные числа a[1],.,a[n]. Вычислить по правилу C++
Объясните чего от меня хотят? Даны натуральное число n, действительные числа a,...,a. Вы- числить -a,a,-a,...,(-1)^na. -1 в степени na? _что?
C++ Unsigned long (Найти шестнадцатеричное представление числа) https://www.cyberforum.ru/ cpp-beginners/ thread720519.html
Нужно написать код програмы на С++ Помогите пожалуйста, очень сильно нужно(((( Задано число диапазона unsigned long. Найти его шестнадцатеричное представление.
C++ Программа «Факультет» https://www.cyberforum.ru/ cpp-beginners/ thread720509.html
Вот такое задание. Свойства: ФИО студентов, предметы, оценки, название групп. Предусмотреть вывод рейтингов студентов предмету по группам по факультету. Поиск студента по фамилии с выводом информации о нём: группа, оценки по предметам. Есть у кого то идеи как это реализовать? :/
C++ Удаление элементов классе Vector
Из числовой последовательности найти удалить все элементы, лежащие в промежутке , где X – среднее арифметическое элементов последовательности, A и B – задаваемые пользователем коэффициенты. Собственно не работает удаление i элемента(Функция Delete). Как правильно сделать? #include <cassert> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std;
C++ поиск чисел, которые при сложении с собой же, но записанном в обратном порядке, дают число, состоящее из нечетных цифр Доброго времени суток) Задача:поиск чисел в заданном диапазоне, которые при сложении с собой же, но записанном в обратном порядке, дают число, состоящее из нечетных цифр. Числа с концевыми нулями игнорируются. Диапазон (0;332) https://www.cyberforum.ru/ cpp-beginners/ thread720504.html
C++ Инициализация обработчика .PNG изображений в wxWindows Всем привет! При создании программы с графическим пользовательским интерфейсом при помощи библиотеки классов wxWindows возникла проблема инициализации обработчика .PNG изображений. Пытаюсь разместить на форме кнопку с изображением, т.е. wxBitmapButton. В заголовочном файле .h определяю класс кнопки с изображением: class wxBitmapButton *button15; В файле .cpp в обработчике первого сообщения... https://www.cyberforum.ru/ cpp-beginners/ thread720496.html C++ Запись вектора стуктур в файл
имеется вектор структур struct bb{ string letter; vector<string> word; }; vector<bb> base; как записать её в файл, чтобы позже считатть обратно в такую же структуру... заранее спасибо
C++ Сколько времени в минутах потратит ученик на дорогу от школы до стадиона, Помогите с задачей плиз))) Сколько времени в минутах потратит ученик на дорогу от школы до стадиона, если это расстояние составляет S км, а средняя скорость движения ученика - V км / час. https://www.cyberforum.ru/ cpp-beginners/ thread720474.html C++ Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр https://www.cyberforum.ru/ cpp-beginners/ thread720465.html
Дан массив натуральных чисел А(N), значения элементов которого лежат в диапазоне . Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент среди тех, которые не являются простыми. Ребят, есть идеи?
Найти ноли в строке, матрицы C++
Помогите сделать, задание. Дана матрица MxN. Проверить, строки на наличия нолей(0), если в строке нет нолей вывести на экран 0, если все ноли вывести 1. и номер строки. Матрицу надо ввести пользователю. Пример вот пользователь ввел Матрицу: 00000 1 01100 0 00110 0 Вывод: 1 номер строки 1 Как то так препод не понятно объяснил задания. как понял так и написал Добавлено через 1 час 0...
C++ Исправить код С++ "Метод Гаусса с выбором главного элемента по строке" В данном коде есть где-то ошибки,помогите пожалуйста их найти #include <iostream> #include <stdio.h> #include <math.h> #include <stdio.h> #include <stdlib.h> using namespace std; int main() { double array; https://www.cyberforum.ru/ cpp-beginners/ thread720452.html
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
05.12.2012, 18:52 0

Поиск по бинарному дереву целочисленных значений - C++ - Ответ 3807790

05.12.2012, 18:52. Показов 2478. Ответов 23
Метки (Все метки)

Ответ

smeaz, под свои нужды подстроишь. Сразу говорю, что там память вроде как не освобождается.
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
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
 
struct  bin_tree
{
   int value;
   bin_tree *left, *right;
}*pHead = NULL; // указатель на вершину равен нулю
 
// добавление конкретного узла дерева
void add_node(bin_tree*, int); 
// проверка на "пустоту" дерева, если указатель на вершину равен нулю, создает узел
void add_bin_tree(int);
// обход
void print(bin_tree*);
void traversal(bin_tree*, ofstream&);
int h_tree(bin_tree *);
 
int main()
{
    setlocale (LC_ALL, "Russian");
    int choose, el;
    cout<< "1. Загрузить последовательность с файла\n"
        << "2. Ввести последовательность вручную\n\n"
        << "Ваш выбор: ";
    do{ cin>> choose;} while(choose != 1 && choose != 2);
    if (choose == 1)
    {        
        ifstream iz("bin.txt");
        if (iz.bad()) return 1;
        while(!iz.eof() && iz>> el)
            add_bin_tree (el);     
        iz.close();
    }
    
    if (choose == 2)
    {
        cout<< "Информационные поля вершин дерева:\n";
        while(cin>> el)
            add_bin_tree (el);
    }
    ofstream o("bin.txt");
    print (pHead);
    traversal (pHead, o);
    getch();
    o.close();
    return 0;
}
 
void add_node(bin_tree* tree, int value) // добавление конкретного узла дерева
{
    if(value < tree->value)
    { 
        if(tree->left != NULL) // если значение меньше, двигаемся по "левой ветке"
            add_node(tree->left, value);
        else
        {  
            tree->left = new bin_tree;
            tree->left->value = value;
            tree->left->left = NULL;
            tree->left->right = NULL;
        }
    }
 
    if(value > tree->value) // иначе двигаемся по правой 
    { 
        if(tree->right != NULL)
            add_node(tree->right, value);
        else
        {
            tree->right = new bin_tree;
            tree->right->value = value;
            tree->right->left=NULL;
            tree->right->right=NULL;
        }
    }
 
    if(value == tree->value)                
        cout<< value<< " is already in tree"<< endl;
}
 
void add_bin_tree(int value)
{
    if(pHead == NULL) // если дерево пустое - создадим первый узел
    {
       pHead = new bin_tree;
       pHead->value = value;
       pHead->left = NULL;
       pHead->right = NULL;
    }
    else
        add_node(pHead, value); // если в вершине уже что-то есть - добавляем слева или справа 
}
 
void traversal(bin_tree* tree, ofstream &o)
{     
    if (tree != NULL)
    { 
        traversal(tree->left, o);
        o<< tree->value<< " ";
        traversal(tree->right, o);
    }
}
 
void print(bin_tree* tree)
{     
    if (tree != NULL)
    { 
        print(tree->left);
        cout<< tree->value<< " ";
        print(tree->right);
    }
}
 
int h_tree(bin_tree* tree)
{
     int h = 1, m = 0, s;
     if (tree == NULL)
        return 0;
     s = h_tree(tree->left);
     if (s > m)
         m = s;
     s = h_tree(tree->right);
     if (s > m)
         m = s;
     return h + m;
}
Чтобы понять бинарное дерево -
ручка и листок бумаги


Вернуться к обсуждению:
Поиск по бинарному дереву целочисленных значений C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2012, 18:52
Готовые ответы и решения:

Итератор по бинарному дереву
Всем привет! Помогите пожалуйста! Пишу бинарное дерево, нужно реализовать итератор по нему. Не...

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

Итератор для обхода по бинарному дереву
Кхм. Попытался реализовать итератор для обхода по бинарному дереву... Наткнулся на запару. Дерево...

Довести до ума программу про бинарному дереву
Здравствуйте. Помогите пожалуйста привести до ума задачу: организовать бинарное дерево по заданной...

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

Поиск по бинарному дереву, построение бинарного дерева
Сделал 3 процедуры: 1. строит бинарное дерево 2. рекурсивная процедура помогает 1-ой найти...

Как осуществить поиск по дереву значений?
В общем есть внешняя обработка с деревом значений с тремя столбиками (Должность,ФИО,Зарплата).Все...

Поиск по дереву
Основная суть - это гениалогическое дерево и это реализовал. Но также есть дополнительное...

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru