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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Сергей094
Сообщений: n/a
#1

Работа с деревьями с ++ - C++

29.03.2012, 18:49. Просмотров 867. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста с програмкой про деревья:
Построить бинарное дерево. Данные вводяться с клавиатуры или считуються с файла. Вывести дерево на екран. Определить максимальную глубину дерева – число веток на найбольшом с маршрутов от кореня дерева до его листков. Вывести етот маршрут.
Вот пример:
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
#include<iostream>
#include<string.h>
using namespace std;
struct node {                               
   char data[10];                   
   node *left,                    
        *right;                  
};
 int n;                              
 char value[10];                      
 node *root;                      
 
void Printtree(node **RootTree, int L)
{                
                
 if((*RootTree!=NULL))                     
 {
  Printtree(&((*RootTree)->left),L+1);
  for(int i=0;i<L;i++)cout<<"    ";   
                                                     
     cout<<(*RootTree)->data<<endl;   
  Printtree(&((*RootTree)->right),L+1);
   }
}
 
void Tree( node  **ptr, char str[10],int AmountNode )
{ 
          
 int LeftNodes,                    
     RightNodes;                        
  if( AmountNode ==0)                     
    *ptr=0;                                 
  else 
  {
   LeftNodes= AmountNode / 2;  
   RightNodes= AmountNode - LeftNodes -1;
   cout<<"Enter node data: ";
   cin>>str;                
   *ptr= new node;                    
   strcpy((*ptr)->data,str);        
   (*ptr)->left=0;          
   (*ptr)->right=0;
        
    Tree (&((*ptr )->left ), str, LeftNodes );
      
    Tree(&((*ptr )->right ), str, RightNodes);
  }
}
 
int main()
{
  cout<<"Create and display tree"<<endl;
  cout<<"Enter number of tree''s nodes"<<endl;
  cin>>n;                      
  root=NULL;
  cout << "Enter "<<n<<" integer values:\n";
  Tree(&root,value,n);                        
                         
  cout<<"Created tree"<<endl;
  Printtree(&root,0); 
  system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2012, 18:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с деревьями с ++ (C++):

Работа с деревьями - C++
RECORD * tree(int k) { RECORD *newnode; int nl,nr;//левое и правое поддерево if(k&lt;=0) newnode=0; else { nl = k/2; nr...

работа с нагруженными деревьями в С++ - C++
здравствуйте,собственно возникла ошибка в функции заполнения нагруженного дерева Суть задачи состоит в том,что у нас есть файл со...

Программа. Работа с деревьями. Ошибки КОМПИЛЯЦИИ - C++
Написал программу: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; //Наша структура struct node { int info;...

Работа с деревьями (Найти все поддеревья, листья которых находятся в заданном диапазоне высот от корня поддерева) - C++
Есть задача: Дано N-дерево. Найти все поддеревья, листья которых находятся в заданном диапазоне высот от корня поддерева. Дайте...

Работа с деревьями - C#
Здравствуйте! Можете подсказать класс, с помощью которого можно работать с деревьями?

Работа с деревьями - Haskell
Добрый день! Дано бинарное дерево и номер уровня. Вывести список вершин на данном уровне. Кто-нибудь знает как это сделать на Хаскеле?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2012, 18:49
Привет! Вот еще темы с ответами:

Работа с деревьями - C#
Здравствуйте, помогите пожалуйста. 1. Описать функцию которая: a) печатает узлы непустого дерева при обходе слева направо; б) удаляет...

Работа с деревьями - Prolog
Начали учить Пролог, ну как учить, все как всегда, задание дали и вперед... В общем нужна помощь... Буду благодарен. Хотел все задания...

Работа с деревьями - Turbo Pascal
Написать программы вычисления высоты дерева с использованием представлений левых сыновей и правых братьев. :help:

Работа с деревьями - Haskell
Дано дерево (необязательно бинарное). Определить путь максимальной длины от корня до листа. Кому не сложно, помогите с задачей


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru