Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 23:38   #1
lubafffka
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 46
По умолчанию бинарное дерево записать в файл

подскажите каким образом записать дерево в файл. там прога немного недописана
Код:
#include <iostream.h>

struct Ttree
{
	int d;
	Ttree *left;
	Ttree *right;
};

Ttree * first (int d);
Ttree * insert(Ttree * root, int d);
void print_tree(Ttree * root, int l);
//-------------------------------------------------------
void main()
{
	int b[]={10,25,20,6,21,8,1,30};
	Ttree *root=first(b[0]);
   for(int i=1;i<8;i++)insert(root,b[i]);
   print_tree(root,0); create();
   //return 0;
   }
//-------------------------------------------------------
//formirovanie pervogo elementa dereva
Ttree * first(int d)
{
	Ttree *pv=new Ttree;
   pv->d=d;
   pv->left=0;
   pv->right=0;
   return pv;
   }
//-------------------------------------------------------
//cozdanie novogo uzla
Ttree *insert(Ttree *root,int d)
{
	Ttree*pv=root,*prev;
   prev=pv;
   Ttree *pnew=new Ttree;
   pnew->d=d;
   pnew->left=0;
   pnew->right=0;
   if(d<prev->d)
   //prisoedinenie k levoi chasti
   prev->left=pnew;
   else
   //prisoedinenie k pravomy
   prev->right=pnew;
   return pnew;}
//-------------------------------------------------------
//coxpanenie v fail
void print_tree(Ttree*p,int level)
{ if (p){
			print_tree(p->left,level+1);     // vivod levogo poddereva
         for(int i=0;i<level;i++)cout<<"   ";
         cout<<p->d<<endl;                    //vivod kornya poddereva
         print_tree(p->right,level+1);      //vivod pravogo poddereva
         }}
//sozdanie faila
void create (void)  //созданиe файла исходных данных
  FILE *f;
  int nsb,i,sim;
 clrscr();
 printf("imya faila: "); scanf("%s",&name);
 while(fopen(name,"r")!=NULL) //проверка существования файла с данным именем
  {printf("fail s dannym imenim uzhe sushchestvuet\nimya faila: ");
   scanf("%s",&name);}
 f=fopen(name,"w"); //открытие файла на запись
 do
lubafffka вне форума Ответить с цитированием
Старый 05.05.2009, 19:22   #2
lubafffka
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 46
Печаль

ну помогите пожалуйста...
lubafffka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарное дерево lubafffka Общие вопросы C/C++ 0 29.04.2009 12:28
Бинарное дерево g0liath Помощь студентам 2 16.02.2008 23:54