![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 18.05.2009
Сообщений: 180
|
![]()
как мне запихнуть элементы дерева в массив.
вот код: #include<iostream.h> #include<stdlib.h> #include<stdio.h> struct Point{ int number; Point* left; Point* right; }; void sloch(Point* p); Point* Tree(int n,Point*p); void Out(Point* p,int n); int printChet(Point* p); void main(){ int k; cout<<"Число узлов дерева: k= "; cin>>k; Point* p=new Point; delete p; p->left=0; p->right=0; Tree (k,p); Out(p,0); printf("++++\n"); printf("%d\n", printChet(p)); } Point* Tree(int n,Point*p){ Point*r; int nl,nr; int ok=0; if(n==0){p=NULL;return p;} nl=n/2; nr=n-nl-1; r=new Point; cout<<"?"; cin>>r->number; r->left=Tree(nl,r->left); r->right=Tree(nr,r->right); p=r; return p; } void Out(Point* p,int n) { cout<<"\nУровень "<<n<<": "; cout<<p->number<<' '; n++; if(p->left!=NULL) Out(p->left,n); if(p->right!=NULL) Out(p->right,n); } int printChet(Point* p){ static int c = 0; if(p){ printChet(p->left); printChet(p->right); c++; } return c; } void sloch(Point* p){ // вот эта функция int x[100],i=0,z=0; if(p){ if(p->number) x[i]=p->number; i++; z++; p->left; p->right; } for(i=0;i<z;i++){ printf("++%d\n",x[i]) ; } }
Программист без пива, как спирт без пробки - выдохнется___________-
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Б деревья | F_A_N_Alex | Помощь студентам | 1 | 06.10.2009 23:05 |
деревья | ShenDy | Общие вопросы C/C++ | 0 | 13.03.2009 19:18 |
Деревья | Марат707 | Microsoft Office Word | 1 | 07.12.2008 14:24 |
Деревья | Mitron | Общие вопросы Delphi | 5 | 01.02.2008 10:09 |
Деревья | Зёка_студент | Помощь студентам | 1 | 26.12.2007 21:47 |