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

вывод дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка. Программа с Дейтелов, которая тасует и раздает карты http://www.cyberforum.ru/cpp-beginners/thread923048.html
Программа C++ из книги Дейтелов, которая тасует и раздает игральные карты. Среда разработки - wxDev-C++. Переписана с книги правильно и найти ошибку, к сожалению, не получается. #include <iostream>...
C++ Допущена ошибка Программа запрашивает широту в градусах, минутах и секундах, после чего отображает широту в десятичном формате. В одной минуте 60 угловых секунд, а в одном градусе 60 угловых минут; представить эти... http://www.cyberforum.ru/cpp-beginners/thread923020.html
C++ Вывод цветных символов
Вообщем начал учить С ++, вроде все получается...столкнулся с проблемой, делаю все как в книге подключил нужные директивы но компиль все равно ругается на ClrScr(); textcolor(RED);. #include...
Перегрузка оператора индексации в одном классе и использование в другом C++
Вообщем проблема состоит в том, что не понимаю как это сделать. Есть класс Document в нем есть вектор vec состоящий из Item'ов. В классе Item есть map который содержит name и значение имени. Как...
C++ Вылетает программа http://www.cyberforum.ru/cpp-beginners/thread922969.html
#include <iostream> #include <string> #include "students.h" int *schetchik = new int(1); bool truepass (std::string passwordf) { std::string password = "qwerty"; if (password == passwordf) {...
C++ Запись Структуры в файл Здравствуйте пытаюсь записать массив структур в файл и не получается.В Файле содержится иероглифы.Помогите пожалуйста. #include <iostream> #include <stdio.h> #include <cstdlib> using namespace... подробнее

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

вывод дерева - C++

14.07.2013, 19:24. Просмотров 632. Ответов 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
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
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <iostream>
using namespace std;
 
 
 
int main()
{
     int a,p;
     struct m{int Tip; m *before; m *pravo; m *levo;};
     m* head, *b, *h;
     b=NULL;
     head = NULL;
     p=5;
 
     while(1)
     {
     cin>>a;
     if(a==0) break;
     m *r; 
 
     r = (m*)malloc(sizeof(m));
     r->levo = NULL;
     r->pravo = NULL;
     r->Tip=a;
     r->before = b;
 
     if(head==0)
      {
          b=NULL;
          head = r;
          b = r;
          continue;
      }
     if(r->Tip > head->Tip && head->pravo==0)
       {
          head->pravo = r;
          r->before = head;
          continue;
       }
     if(r->Tip < head->Tip && head->levo==0)
       {
          head->levo = r;
          r->before = head;
          continue;
       }
     if(r->Tip > head->Tip)
       {
           for(h=head->pravo;;)
              {
                   if(p==1) {
                     if(r->Tip > h->Tip) {
                       h->pravo = r;
                       r->before = h;
                     }
                     else {
                       h->levo = r;
                       r->before = h;
                     }
                     break;
                   }
                   if(r->Tip > h->Tip) {
                     if(h->pravo!=NULL) {
                       h=h->pravo;
                     }
                     }
                     else {
                       p=1;
                       continue;
                     }
                   if(r->Tip < h->Tip) {
                     if(h->levo!=NULL) {
                       h=h->levo;
                     }
                     }
                     else {
                       p=1;
                       continue;
                     }
                   p=5;
                 }
          }
     
     if(r->Tip < head->Tip)
       {
           for(h=head->levo;;)
              {
                  if(p==1) {
                     if(r->Tip > h->Tip) {
                       h->pravo = r;
                       r->before = h;
                     }
                     else {
                       h->levo = r;
                       r->before = h;
                     }
                     break;
                   }
                   if(r->Tip > h->Tip) {
                     if(h->pravo!=NULL) {
                       h=h->pravo;
                     }
                     }
                     else {
                       p=1;
                       continue;
                     }
                   if(r->Tip < h->Tip) {
                     if(h->levo!=NULL) {
                       h=h->levo;
                     }
                     }
                     else {
                       p=1;
                       continue;
                     }
                   p=5;
                 }
          } 
     b = r;
          } 
          
          for(h=head->levo;;)
             {
                if(h->levo!=0)
                h=h->levo;
                else
                break;
             }
   while(!kbhit());
     getch();
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.