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

полное бинарное дерево в консоль - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
02.06.2013, 17:15     полное бинарное дерево в консоль #1
Помогите нарисовать полное бинарное дерево в консоле по заданному количеству уровней. чтобы выглядело норм , например через функцию gotoxy()
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
class node
{
public:
    int data;
    node* left;
    node* right;
    node()
    {
        left=NULL;
        right=NULL;
    }
    node(int n)
    {
        data=n;
        left=NULL;
        right=NULL;
    }
};
 
 
class tree
{
public:
    node *root;
    queue <node*> q;}
Кто нибудь знает как можно нарисовать?



Добавлено через 1 час 6 минут
могу кинуть полный код программы если ктот знает как там доделать

Добавлено через 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void ok(int x, int y,node *p,int i)
{
gotoxy(x,y);
Sleep(200);
if(p!=NULL) cout<<p->data;
if (p->left)
{
ok(x-20+i,y+1,p->left,i+=4);
}
x+=3;
if (p->right)
{
ok(x+20-i,y+1,p->right,i+=4);
}}
уже не вылетает но проблема со смещением_ хелп)
=)

Добавлено через 2 часа 8 минут
106 просмотров и не кто не знает(( печально
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 17:15     полное бинарное дерево в консоль
Посмотрите здесь:

бинарное дерево C++
Бинарное дерево C++
Бинарное дерево C++
Бинарное дерево C++
Бинарное дерево C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ezembi
 Аватар для Ezembi
100 / 87 / 3
Регистрация: 29.05.2013
Сообщений: 227
02.06.2013, 17:26     полное бинарное дерево в консоль #2
Есть идейка:
вершину считать положение х как-бы=0, а левого потомка х-1, правого х+1
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
02.06.2013, 17:27  [ТС]     полное бинарное дерево в консоль #3
там будет наслоение , могу код кинуть чтобы желающие попробовали свои силы)) и помоч мне))
Ezembi
 Аватар для Ezembi
100 / 87 / 3
Регистрация: 29.05.2013
Сообщений: 227
02.06.2013, 17:29     полное бинарное дерево в консоль #4
Цитата Сообщение от kyzavr Посмотреть сообщение
там будет наслоение
т.е.?
игрик у потомков ++
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
02.06.2013, 23:45  [ТС]     полное бинарное дерево в консоль #5
Добавлено через 51 минуту
ну че там?
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
05.06.2013, 23:23  [ТС]     полное бинарное дерево в консоль #6
тема в новь открыта!!_ не появились люди которые знают как построить полное бинарное дерево в стоячем положении?? например через циклы?
C++
1
2
3
4
     
        3
     2     2
    1 1   1 1
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
05.06.2013, 23:29     полное бинарное дерево в консоль #7
В стоячем никак не нарисуешь, кроме как если не делать возврат каретки в определенное место. Как правило, чтобы показать структуру дерева, используют след. рекурсивную функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void printWithLvls (Node *w, int lvl)
{
// *w - указатель на корень дерева
// lvl - уровень вершины
    if  (w != NULL)
    {
        printWithLvls (w->right, lvl + 1);
        for (int i = 0; i < lvl; i++)
            cout<< "   ";
        cout << w->key << '\n';
        printWithLvls (w->left, lvl + 1);
    }
}
Судя по вашему "бинарному дереву", сдается мне, что вы не понимаете его сути. Правый потомок всегда должен быть больше, левый меньше своего предка. А у вас нарисовано не пойми что.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 00:46     полное бинарное дерево в консоль
Еще ссылки по теме:

Бинарное дерево C++
Бинарное дерево C++
C++ Бинарное дерево

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

Или воспользуйтесь поиском по форуму:
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
06.06.2013, 00:46  [ТС]     полное бинарное дерево в консоль #8
эта у меня есть) мне именно в стоячем надо ) примерно так
http://screenshot.su/show.php?img=1f...ad4412b443.jpg

И это Полное двоичное дерево с количеством уровней N, где на каждом уровне i располагаются узлы, информационные части которых равны N-i.


так что это мне не походит
Yandex
Объявления
06.06.2013, 00:46     полное бинарное дерево в консоль
Ответ Создать тему
Опции темы

Текущее время: 09:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru