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

создание прошитого бинарного дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номер той строки, в которой больше всего согласных букв http://www.cyberforum.ru/cpp-beginners/thread426563.html
Переведите, пожалуйста: Uses CRT; Var f,f2:text; s,s2:string; i,l,n1,n2,n,max,ind,c:integer; begin Assign(f,'D:\1.txt'); Assign(f2,'D:\2.txt');
C++ найти точку, принадлежащую дано множество отрезков на прямой. найти точку, которая принадлежит наибольшему количеству отрезков, определить это количество http://www.cyberforum.ru/cpp-beginners/thread426562.html
найти первые N целых чисел C++
найти первые N целых чисел, у которых младший байт является зеркальным отражением следующего байта
C++ массивы сортировка
простая сортировка обменами. напишите плиз..
C++ Определить, можно ли в заданной матрице найти столбец, удовлетворяющий условию http://www.cyberforum.ru/cpp-beginners/thread426541.html
Задача :Определить можно ли в двумерном массиве найти такой столбец, который разбивает массив на два так, что сумма элементов в первом больше, чем сумма элементов во втором. Сам столбец в разбиваемые части не входит. Подскажите примерно как сделать эту задачку и с чего начать
C++ Ошибки в Code Blocks Есть такая проблемка #include <iostream> using namespace std; int main() { int 1; int 2; int 4; подробнее

Показать сообщение отдельно
vndtta
77 / 54 / 6
Регистрация: 17.10.2011
Сообщений: 164
Завершенные тесты: 1
12.01.2012, 13:42     создание прошитого бинарного дерева
Цитата Сообщение от DimanShabalin Посмотреть сообщение
есть файл

fIn.txt
A
BC
D_IF
___L

то есть _ значает что потомка нет (например у B потомок только B, второго нет); , информация может быть какой угодно.
...
условие поясни ка поподробнее, а то "___L" вообще непонятно что значит
я насчитал 4 символа, тут должно быть либо 8, либо 6(по два на каждого существующего потомка из предыдущего уровня)

Добавлено через 2 часа 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
int level=0;
BinaryTree T;
ifstream file;
string s;
int pos;
 
 
void get_level(int level,tree** arg){
 tree* root=*arg;
 
 if (level>0){
  if (!root) return;
  get_level(level-1,&(root.left));
  get_level(level-1,&(root.right));
 }
 else{
  if (pos==s.length()) { return;}
  if (s[pos]=="_") { pos++;return;}
  root=new tree;
  root.info=s[pos++];
  root.left=0;
  root.right=0;
  *arg=root
 }
}
 
main(){
...
 T.pRoot=0;
 while(!file.eof()){
  pos=0;
  getline(file,s);
  get_level(level++,&(T.pRoot));
 }
...
}
вот накорябал после обеда, по идее должно работать
 
Текущее время: 22:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru