arbre binaire/fonction recursif/lecture fichier

arbre binaire/fonction recursif/lecture fichier - C - Programmation

Marsh Posté le 04-11-2009 à 15:58:40    

bonjour, j'ai un petit probleme, je suis entrain de creer un arbre binaire mais voila des que j utilise une fonction recursive  ca plante comme si  je n'avais pas bien pointer.
 
 voici mon code qui pose probleme:
 

Code :
  1. void CreerNoeud(struct Arbre  **Racine,int valeur)
  2. {
  3.   if (Racine!=NULL)
  4.    {
  5.     if ((*Racine)->Noeud>valeur)
  6.      {
  7.      CreerNoeud(&(*Racine)->SAG,valeur);//     <--------------------------c'est ici que ca plante
  8.      }
  9.     else
  10.         {
  11.          CreerNoeud(&(*Racine)->SAD,valeur);//<------------------------------ici aussi
  12.        }
  13.    }
  14. else
  15.     {
  16.          printf("\n test" );
  17.       *Racine=(struct Arbre *)malloc(sizeof(struct Arbre));
  18.       (* Racine)->Noeud=valeur;
  19.         (*Racine)->SAD=NULL;
  20.          (*Racine)->SAG=NULL;
  21.      }
  22. }


 
 
l'appel dans le main :

Code :
  1. struct Arbre * Racine ;
  2. printf("Saisir un entier (0 pour finir la saisie) : " );
  3.                       scanf("%d",&valeur);
  4.                    
  5.                       while (valeur != 0)
  6.                             {
  7.                              CreerNoeud(&Racine,valeur);                           
  8.                               printf("\n test %d",Racine->Noeud);
  9.                              printf("Saisir un entier (0 pour finir la saisie) : " );
  10.                              scanf("%d",&valeur);
  11.                             // Racine->SAG=NULL;
  12.                              //Racine->SAD=NULL;                             
  13.                            
  14.                              }


 
 
merci d'avance de votre aide


Message édité par gregory8500 le 12-11-2009 à 23:52:36
Reply

Marsh Posté le 04-11-2009 à 15:58:40   

Reply

Marsh Posté le 04-11-2009 à 17:12:04    

if( *Racine != NULL )


---------------
last.fm
Reply

Marsh Posté le 04-11-2009 à 18:44:20    

ok merci, ca marche. je me doutais bien que c'etait une betise

Reply

Marsh Posté le 05-11-2009 à 16:36:42    

Peut-être

Code :
  1. if (Racine != NULL)
  2. {
  3.     if (*Racine != NULL)
  4.     {
  5.     }
  6.     else
  7.     {
  8.     }
  9. }

On ne sait jamais.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed