Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как можно взять один элемент двумерного массива и сравнить его с элементами его строки? Или столбца. https://www.cyberforum.ru/ cpp-beginners/ thread1607762.html Сохранить отрисованный объект в ОЗУ для дальнейшего использования C++
Рисую в окне график. Есть функция которая вычисляет и выводит его размер и расположение линий. Нужно чтобы эта сетка графика сохранялась в памяти и вычисления новых размеров(координат и другой инфы) производились только при изменении размеров сетки. При этом поверх графика будет выводится линия с большой скоростью. Если каждый раз пересчитывать координаты графика перед его отрисовкой то цп будет...
C++ Курсовая работа https://www.cyberforum.ru/ cpp-beginners/ thread1607749.html
Разработать систему программного обеспечения обработки ежегодных данных телефонной станции. Данные о звонках помещены в файл данных смешано по различным областям: № ФИО Адрес Код звонка Дата Длительность Число областей заранее не известно. Из кода звонка определяется код области, с которой происходит соединение -...
C++ Есть ли в ведённых строках подстрока "физи", если да, выдать строку предшествующую последнему вхождению https://www.cyberforum.ru/ cpp-beginners/ thread1607731.html
После введения с клавиатуры определенного фрагмента текста(в три строки экрана) выяснить, «имеет» или «не имеет». Как ключевой использовать подстроку «физы». Вывести на экран строку. Который предшествует последнему выявленному вхождению. Заранее благодарю
C++ Ошибка с чтением файла
Добрый вечер, ниже реализована программа по обработке файла данных " Репертуар кинотеатров" в котором указаны название кинотеатра и название фильма, идущего в нем, реализовано все это через меню и дано три задачи на обработку данных Моя проблема в программе заключается в том что после того как я записал данные в таблицу далее произвел обработку по заданию, записал в файл и при попытке чтения...
C++ Функция вычисляющая n-е число Фибоначчи Последовательность чисел Фибоначчи 0, 1, 1, 2, 3, 5, 8, 13, 21, ... начинается с 0 и 1 и имеет то свойство, что каждый следующий элемент является суммой двух предыдущих элементов. Напишите Нерекурсивные функцию fibonacci (n), что вычисляет n-е число Фибоначчи. Определите наибольшее число Фибоначчи, которое может быть напечатанное в вашей системе. https://www.cyberforum.ru/ cpp-beginners/ thread1607726.html
C++ Из матрицы n-ого порядка получить матрицу порядка n-1, удалив строку и столбец, удовлетворяющие условию https://www.cyberforum.ru/ cpp-beginners/ thread1607717.html
Из матрицы n-ого порядка получить матрицу порядка n-1, путём удаления из исходной матрицы строки и столбца , на пересечении которых расположен элемент с наибольшим по модулю значением
C++ Сформировать одномерный массив из количества ненулевых элементов строк матрицы
Сформировать одномерный массив из количества ненулевых элементов строк матрицы. Какое выражение писать после условия? #include "stdafx.h" #include <iomanip> #include <iostream> using namespace std;
C++ Разобраться с ошибками в программе https://www.cyberforum.ru/ cpp-beginners/ thread1607705.html
#include <stdio.h> using namespace std; int main(void) { setlocale(LC_ALL,"Russian"); char name1, name2, name3; char pr1, pr2,pr3; char k1, k2, k3; unsigned int c1,c2,c3; printf("1. Введите: Наименование, Производитель, Количество, Цена >");
C++ Найти самый используемый отрезок пути в графе https://www.cyberforum.ru/ cpp-beginners/ thread1607689.html
Доброго времени суток. Столкнулся с такой проблемой: в графе нужно найти участок, который используется чаще всего при постройки пути от одной координаты к другой. Как это реализовать?
C++ Вычислить периметр и площадь правильного N угольника вписанного в окружность радиуса R
Вычислить периметр и площадь правильного N угольника вписанного в окружность радиуса R (N-целого типа, R-вещественного).
C++ Разработка дерева https://www.cyberforum.ru/ cpp-beginners/ thread1607665.html
Привет всем. Нужна помощь с таким заданием: Имеется дерево, корень которого соответствует основателю рода. Сыновья каждой вершины задают сыновей и дочерей соответствующего человека. Указываются имена двух человек (например, А и В) . Сообщить, какая из следующих ситуаций имеет место: 1) А предок В; 2) В предок А; 3) А и В имеют ближайшего общего предка С. Заранее спасибо.
3 / 3 / 1
Регистрация: 26.10.2014
Сообщений: 17
09.12.2015, 20:56  [ТС] 0

Вычисление высоты бинарного дерева поиска на С++ - C++ - Ответ 8463756

09.12.2015, 20:56. Показов 26705. Ответов 3
Метки (Все метки)

Ответ

Ну, я и говорю что пять, просто мне интересно, почему у меня выводит именно два, а не пять ? Х)

Добавлено через 26 минут
Цитата Сообщение от Геомеханик Посмотреть сообщение
Всё правильно, именно 5.
C++

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
#include <iostream>
struct Node {
 Node* l, *r;
 char x;
}; 
void Node_Add(Node*& p, char x);
void Node_Clear(Node* p);
int Node_Height(const Node* p);
int main(void){
 char s[] = "feacdfb";
 Node* tr = NULL;
 for(const char* i = &s[0]; *i; ++i)
 Node_Add(tr, *i);
std::cout << "height: " << Node_Height(tr) << std::endl;
 Node_Clear(tr);
 return 0;
}
//вставка
void Node_Add(Node*& p, char x){
 if(p == NULL){
 p = new (std::nothrow) Node();
 if(p != NULL){
 p->l = p->r = NULL;
 p->x = x;
 }
 } else if(x < p->x)
 Node_Add(p->l, x);
 else
 Node_Add(p->r, x);
}
//удаление всех
void Node_Clear(Node* p){
 if(p != NULL){
 if(p->l != NULL)
 Node_Clear(p->l);
 if(p->r != NULL)
 Node_Clear(p->r);
 delete p;
 }
}
//высота дерева
int Node_Height(const Node* p){
 int l, r, h = 0;
 if(p != NULL){
 l = Node_Height(p->l);
 r = Node_Height(p->r);
 h = ((l > r) ? l : r) + 1;
 }
 return h;
}
Ладно, хоть переписал под себя твой код и все заработало, спасибо :3

Может кому поможет сдать лабу, я поделюсь таким кодом (Просто пример выше переписал под динамику Х) )
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
struct Node {
    Node* l, *r;
    char  x;
};  
void Node_Add(Node*& p, char x);
void Node_Clear(Node* p);
int  Node_Height(const Node* p);
 
int main(void){
 
    Node* tr = NULL;
    
 setlocale(LC_ALL,"Russian"); // Моё
    int n,how_much; 
    char x;
 
 cout << "Сколько узлов будет в дереве ? (Введите кол-во узлов (min : 2))" << endl;
 for(int menu=0;menu==0;)
 {
 cin >> n;
 if(n>1)
 {menu++;}
 else
 {cout << "Введено неправильное кол-во узлов. Попробуйте еще." << endl;}
 }
 char *s = new char[n];
  int count=0;
     for(; count<n; count++)
     {
         cout << "Введите элемент #" << count+1 << " : ";
         cin >> s[count];
        Node_Add(tr, s[count]);
     }
 
    cout << "height: " << Node_Height(tr) << std::endl;
    Node_Clear(tr);
    delete []s;
    getch ();
    return 0;
}
 
//вставка
void Node_Add(Node*& p, char x){
    if(p == NULL){
        p = new (std::nothrow) Node();
        if(p != NULL){
            p->l = p->r = NULL;
            p->x = x;
        }
    } else if(x < p->x)
        Node_Add(p->l, x);
    else
        Node_Add(p->r, x);
}
 
//удаление всех
void Node_Clear(Node* p){
    if(p != NULL){
        if(p->l != NULL)
            Node_Clear(p->l);
        if(p->r != NULL)
            Node_Clear(p->r);
        delete p;
    }
}
 
//высота дерева
int Node_Height(const Node* p){
    int l, r, h = 0;
    if(p != NULL){
        l = Node_Height(p->l);
        r = Node_Height(p->r);
        h = ((l > r) ? l : r) + 1;
    }
    return h;
}


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

Вычисление высоты бинарного дерева
Разработать программу вычисления высоты дерева(бинарного дерева) Очень прошу напишите эту задачу...

Функция: определение высоты бинарного дерева
написать функцию , которая определяет высоту бинарного дерева

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

Определение высоты каждой пары элементов данного бинарного дерева
определения высоты каждой пары элементов данного бинарного дерева

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

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

Вычисление высоты дерева
Всем привет! Дерево создано на основе стека, но вот в чем беда компилируется с ошибкой error...

Организация бинарного дерева поиска
Всем доброго времени суток. Передо мной встала задача организовать чтение файла и подсчёт...

Итератор дерева бинарного поиска
Если у нас в качестве коллекции выступают вектора, очереди, стеки и т.п. то там вроде бы всё...

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