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 :
 - void CreerNoeud(struct Arbre  **Racine,int valeur)
 -  {
 -   if (Racine!=NULL)
 -    {
 -     if ((*Racine)->Noeud>valeur)
 -      {
 -      CreerNoeud(&(*Racine)->SAG,valeur);//     <--------------------------c'est ici que ca plante
 -      }
 -     else
 -         {
 -          CreerNoeud(&(*Racine)->SAD,valeur);//<------------------------------ici aussi
 -        }
 -    }
 -  else
 -     {
 -          printf("\n test" );
 -       *Racine=(struct Arbre *)malloc(sizeof(struct Arbre));
 -       (* Racine)->Noeud=valeur;
 -         (*Racine)->SAD=NULL;
 -          (*Racine)->SAG=NULL;
 -      }
 -  }
 
  | 
 
 
l'appel dans le main :
Code :
 - struct Arbre * Racine ;
 - printf("Saisir un entier (0 pour finir la saisie) : " );
 -                       scanf("%d",&valeur);
 -                    
 -                       while (valeur != 0)
 -                             {
 -                              CreerNoeud(&Racine,valeur);                           
 -                               printf("\n test %d",Racine->Noeud);
 -                              printf("Saisir un entier (0 pour finir la saisie) : " );
 -                              scanf("%d",&valeur);
 -                             // Racine->SAG=NULL;
 -                              //Racine->SAD=NULL;                             
 -                            
 -                              }
 
  | 
 
 
merci d'avance de votre aide
 
Message édité par gregory8500 le 12-11-2009 à 23:52:36