Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти максимальное количество заявок, которые можно удолетворить Есть n заявок на проведение занятий в 1й аудитории. два различных занятия не могут пересекаться по времени. каждая заявка содержит время начала s и время оконачания занятия t необходимо найти макс кол-во заявок которую можно удолетворить https://www.cyberforum.ru/ cpp-beginners/ thread91186.html Рекурсивное вычисление функции C++
Функция f(n) определяется рекурсивно: f(2*n)=f(n),f(2*n+1)=f(n)+f(n+1), f(0)=0,f(1)=1.написать программу вычисляющую функцию f(n)
C++ Найти в последовательности все слова, из которых могла бы получиться другая последовательность https://www.cyberforum.ru/ cpp-beginners/ thread91175.html
Добрый вечер, нужна помощь в решении задачи. Даны символы а1....а10, натуральное число n, символы s1,...., sn. Будем рассматривать слова, входящие в последовательность s1,...., sn, считая, что среди символов а1....а10 нет пробелов, и поэтому последовательность а1....а10 может рассматриваться как одно слово, в словах могут встретиться ошибки: -заменена одна буква. Требуется найти в s1,....,...
C++ посчитать интеграл...найти ошибку в программе https://www.cyberforum.ru/ cpp-beginners/ thread91157.html
Написал прогу, работает, но препод сказал что неправильно, в чём ошибка-то ? Собственно задание: написать программу, которая считает интеграл 1-x*x на интервале методом Монте-Карло (на лекциях этой темы не было). #include <stdlib.h> #include <stdio.h> #include <time.h> double func(double x) { return 1-x*x;
C++ Ошибка при использовании delete
И снова здравствуйте! Пишу раз третий.Я уже готов убицца ап сцену изза этого delete.Я не понимаю что не так делаю: class CMenu { char* Title; char* End; public: CMenu(char*, char* ); ~CMenu();
C++ массив Задано два вектора A=(a1,a2,a3,a4) и B=(b1,b2,b3,b4,b5), где a1=0.1; a2=a1+2.1; a3=a1-0.8; a4=a2-0.8 b1=a1*a2; b2=a2*a3; b3=a1*a3; b4=5*a1; b5=b4-b2 найти Q=∑_(i=1)^4▒〖(a_i 〗 ∏_(j=1)^5▒b_j ) https://www.cyberforum.ru/ cpp-beginners/ thread91120.html
C++ наибольший общий делитель Написать программу, которая рекурсивно вычисляет (наибольший общий делитель) НОД (a,b), где целые числа a и b вводятся пользователем https://www.cyberforum.ru/ cpp-beginners/ thread91106.html C++ Натуральное число N
Люди помогите решить эту задачу на "СИ" 2. Дано натуральное число N. Вычислить произведение первых N сомножителей 1/2 * 3/4 * 5/6 *…
C++ решение матриц https://www.cyberforum.ru/ cpp-beginners/ thread91097.html
Здравствуйте. Помогите сделать мне эти задания. "1. Дана матрица B(N,M) (N≤M, M≤13). Найти сумму элементов каждого столбца матрицы. Сформировать массив D из найденных сумм. 2. Имеется N населенных пунктов (N≤15), и сеть авиалиний, соединяющих эти города. Сеть задана матрицей связности M(N,N), где M(i,j) =0, если города i и j не связаны между собой, и M(i,j)=1 – в противном случае....
C++ Прога на строки Условие: дана строка. Определить кол-во букв "а" в последнем слове. Посмотрите в чем дело? не работает что-то выдает значение 0. вот код: #include <iostream.h> #include <math.h>; #include <conio.h>; #include <string.h>; int main() { char st; https://www.cyberforum.ru/ cpp-beginners/ thread91094.html
C++ Работа с матрицами...
написать программу которыя формирует новую матрицу из исходной. новая матрица состоит из положительных чётных столбцов заданной матрицы. в программе предусмотреть ввод количества строк и столбцов. оформить получние новой матрицы в виде функции Решение в отдельной функции. Напишите какойнить простенький примерчик.Пожалуйста)язык Си
C++ Кодировка символов в С++ получил кода русских символов через такую небольшую прогу: char ch, ch1; int in, in1; ch = 'я'; ch1 = 'А'; in = ch; in1 = ch1; cout << in << in1 << endl https://www.cyberforum.ru/ cpp-beginners/ thread91068.html
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
31.01.2010, 00:14 0

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

31.01.2010, 00:14. Показов 4813. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено [CN]Defender как решение

Решение

[CN]Defender,
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
133
134
135
136
137
138
139
140
#include<iostream.h>
struct  node
{
  int Key;
  int Count;
  node *Left;
  node *Right;
};
 
class TREE
{
  private:
    node *Tree; //Указатель на корень дерева.
    void Search (int,node**);
  public:
    TREE() {Tree=NULL;}
    node** GetTree () {return &Tree;} //Получение вершины дерева.
    void BuildTree ();
    void CleanTree (node **);
    void ObhodEnd (node **);
    void ObhodLeft (node **);
    void ObhodBack (node **);
    void Vyvod (node**,int);
    int Height (node**);
};
 
void main ()
{
  TREE A;
 
  A.BuildTree ();
  cout<<"\nВывод дерева:\n";
  A.Vyvod (A.GetTree(),0);
  cout<<"\nВысота дерева:"<<A.Height(A.GetTree())<<endl;
  cout<<"\nЛевосторонний обход дерева: ";
  A.ObhodLeft (A.GetTree());
  cout<<"\nКонцевой обход дерева: "; A.ObhodEnd (A.GetTree());
  cout<<"\nОбратный обход дерева: "; A.ObhodBack (A.GetTree());
  A.CleanTree (A.GetTree());
}
 
void TREE::BuildTree ()
// Построение бинарного дерева (рекурсивный алгоритм).
// Tree - указатель на корень дерева.
{
  int el;
 
  cout<<"Вводите ключи вершин дерева ...\n";
  cin>>el;
  while  (el!=0)
  { Search (el,&Tree); cin>>el; }
}
 
void TREE::Search (int x,node **p)
//  Поиск вершины с ключом x в дереве со вставкой
//             (рекурсивный алгоритм).
// *p - указатель на корень дерева.
{
  if  (*p==NULL)
  {// Вершины в дереве нет; включить ее.
    *p = new(node);
    (**p).Key = x;     (**p).Count = 1;
    (**p).Left = NULL; (**p).Right = NULL; }
  else
    if  (x<(**p).Key) Search (x,&((**p).Left));
    else
      if  (x>(**p).Key) Search (x,&((**p).Right));
      else  (**p).Count = (**p).Count + 1;
}
 
void TREE::ObhodLeft (node **w)
//Левосторонний обход дерева.
//*w - указатель на корень дерева.
{
  if  (*w!=NULL)
  {
    cout<<(**w).Key<<" ";
    ObhodLeft (&((**w).Left));
    ObhodLeft (&((**w).Right));
  }
}
 
void TREE::ObhodEnd (node **w)
//Концевой обход дерева.
//*w - указатель на корень дерева.
{
  if  (*w!=NULL)
  { ObhodEnd (&((**w).Left));
    ObhodEnd (&((**w).Right));
    cout<<(**w).Key<<" "; }
}
 
void TREE::ObhodBack (node **w)
//Обратный обход дерева.
//*w - указатель на корень дерева.
{
  if  (*w!=NULL)
  { ObhodBack (&((**w).Left));
    cout<<(**w).Key<<" ";
    ObhodBack (&((**w).Right)); }
}
 
void TREE::CleanTree (node **w)
//Очистка дерева.
//*w - указатель на корень дерева.
{
  if  (*w!=NULL)
  { CleanTree (&((**w).Left));
    CleanTree (&((**w).Right));
    delete *w; }
}
 
void TREE::Vyvod (node **w,int l)
//Изображение дерева *w на экране дисплея
//          (рекурсивный алгоритм).
//*w - указатель на корень дерева.
{
  int i;
 
  if  (*w!=NULL)
  { Vyvod (&((**w).Right),l+1);
    for  (i=1; i<=l; i++) cout<<"   ";
    cout<<(**w).Key<<endl;
    Vyvod (&((**w).Left),l+1); }
}
 
int TREE::Height (node **w)
//Определение высоты бинарного дерева.
//*w - указатель на корень дерева.
{
  int h1,h2;
  if  (*w==NULL) return (-1);
  else
  {
    h1 = Height (&((**w).Left));
    h2 = Height (&((**w).Right));
    if  (h1>h2) return (1 + h1);
    else  return (1 + h2);
  }
}
лови, смотри - эт не мой код если что.

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

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Бинарное дерево
Нужно записать в дерево и вывести в форматированном виде каталог файлов(типа windows) на вход даны...

Бинарное дерево
Задание сделать бинарное дерево, но при добавлении появилась проблема, не могу разобраться с...

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

Бинарное дерево
Мой код: Patient.h // // Created by User on 26.04.2016. // #ifndef LABA_10_PATIENT_H...

Бинарное дерево
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с...

Бинарное дерево
Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с...

Бинарное дерево
Необходимо построить бинарное дерево с методами inorder_tree_walk, tree_search, tree_minimum,...

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