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

Деревья - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Существование объекта http://www.cyberforum.ru/cpp-beginners/thread627039.html
Здравствуйте, есть довольно сложное и интересное задание Есть класс someClass нужно сделать так чтобы: 1) Его объекты можно было создавать только динамически 2) Даже созданные динамически объекты...
C++ Подсчёт количества подстрок Посмотрите пожалуйста нормально ли написана функция, которая считает количество подстрок? int SearchSubString(char *s1,char *s2){ int result = 0; while(*s1){ if(strstr(s1,s2)) ... http://www.cyberforum.ru/cpp-beginners/thread627021.html
Переворот строки C++
Почему при использовании указателя ошибка, а при использование массива всё нормально? void RevStr(char *str){ char *start,*end; char t; start = str; end = &str;
Массивы: вычислить сумму положительных и количество отрицательных элементов массива C++
Здравствуйте. Столкнулся с проблемой, нужно вычислить сумму положительных и количество отрицательных элементов массива v , предварительно числа нужно ввести с клавиатуры. У меня абсолютно ничего не...
C++ Добавить после каждой цифры 2 нуля http://www.cyberforum.ru/cpp-beginners/thread626946.html
Строки. Добавить после каждой цифры 2 нуля. например: ввели: а1 б2 абв получили: а100 б200 абв на данный момент при одной цифре выдает верно+мусор, при двух и более цифрах выдает ересь. ...
C++ парсит TS до уровня PES пакетов Надо парсить медиа-поток MREG2-TS(Transport Stream) до уровня PES пакетов. Кто может помочь, подсказать с чего начать. Какую литературу можете посоветовать, дать ссылки на примеры. Заранее... подробнее

Показать сообщение отдельно
reznov
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 6

Деревья - C++

22.07.2012, 02:13. Просмотров 978. Ответов 14
Метки (Все метки)

Я не особо разбираюсь в программировании (т.к это не связано с моей будущей специальностью,но те кто составлял учебный курс так не считают )поэтому не бросайтесь камнями.
Суть задания:
"Информационное поле двоичного упорядоченного дерева содержит целое число.Удалить из дерева все узлы,информационное поле которых превышает некоторое вводимое пользователем число."
У меня возникли некоторые сложности:
1.Не представляю как должна работать функция для удаления.
2.Компилятор выдаёт не понятные для меня ошибки.
Вот,что я смог осилить,заранее спасибо:
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
#include <iostream.h>
#include <stdio.h>
#include <windows.h>
 
struct Node {
  int  data;          
  Node *left, *right; 
  };
typedef Node *PNode;
 
void AddToTree (PNode &Tree, int x) // построение дерева
{
if ( ! Tree ) {
   Tree = new Node;
   Tree->data = x;
   Tree->left = NULL;
   Tree->right = NULL;
   return;
   }
if ( x < Tree->data )
     AddToTree ( Tree->left, x );
else AddToTree ( Tree->right, x );
}
 
 
PNode Search (PNode Tree, int x) // поиск ключа
{
if ( ! Tree ) return NULL;
if ( x == Tree->data ) 
     return Tree;
if ( x < Tree->data )
  return Search(Tree->left, x);
else 
  return Search(Tree->right, x);
}
 
int main ()
{SetConsoleOutputCP(1251);
int x,n,i;
Node *root=NULL;
printf("Введите количество узлов дереве: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{cin>>x;
root=AddToTree(root,x);}
Search(root,x);
return 0;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru