Официальный сайт студ.городка НГТУ
Учеба » ввод дерева 

#1  05.04.07 15:26

ввод дерева

как произвести ввод дерева,в к.элементы не символьного типа,а целого?       
struct btree
                  {char   elem; 
                      btree  *left, *right;}   
btree * build_tree ( )
          { char  sym;     //пример из методички
             btree *d;
                   scanf ('%c', &sym );
                   switch ( sym )
                {case '(': { d =  new btree; 
                                     scanf ("%c", &sym );  d->elem  = sym;
                                      d->left =  build_tree (  );
                                      d->right = build_tree (  ); scanf( "%c", &sym ); 
                                       return  d  ;  }
                  case  '0'  :  return NULL ;
                  case  ','   : d  = build_tree (  );  break ;
                              }           
                                  }
помогите пожалуйста!!!

Offline

#2  05.04.07 16:13

Re: ввод дерева

В чем загвоздка то? Узкой специализации под чар не вижу о_О

Исправлено Malkolm (05.04.07 16:13)

Offline

#3  05.04.07 16:26

Re: ввод дерева

Ну,например  такое дерево может быть(1,(2,0,0),(-3,(4,0,0),(-5,0,0)))?

Offline

#4  05.04.07 16:39

Re: ввод дерева

что-то типа такого

Код::

struct btree{
 int   elem;
 btree  *left, *right;
}
   
btree* build_tree ( ){ 
 char  sym;
 int num;
 btree *d;
 scanf ('%c', &sym );
 switch ( sym ){
 	case '(': { 
 	     d =  new btree();
  	     scanf ("%d", &num );
 	     d->elem  = num;
 	     d->left =  build_tree (  );
  	     d->right = build_tree (  );
       	     scanf( "%c", &sym );
  	     return  d  ;  
         }
	 case  '0'  :  return null ;
	 case  ','   : d  = build_tree (  );  break ;
 }
}

Offline

#5  05.04.07 17:07

Re: ввод дерева

спасибо.у меня просто замкнуло на том,что надо посимвольно считывать=)

Offline

Учеба » ввод дерева 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.021 сек.
Выполнено 11 запросов.