fonction recursive - C++ - Programmation
Marsh Posté le 19-03-2006 à 20:21:41
tu devrais aussi enlever ces parantheses inutiles, ca rend le code peu lisible 
 
if((((*r).fils[j])->fils)==NULL) 
--> 
if(r->fils[j]->fils==NULL)
Marsh Posté le 19-03-2006 à 20:30:17
1. Je crois qu'au lieu de 
| pos=0; | 
il faut
| *pos=0; | 
 
 
2. Je crois qu'au lieu de 
| return r; | 
il faut
| return *r; | 
Marsh Posté le 19-03-2006 à 20:41:02
pour ta premiére remarque olivthill *pos=0, c'est juste tu as raison mais ca change pas le resultat alors que pour la deuxième non, je retourn en faite un une adesse.
Marsh Posté le 19-03-2006 à 22:09:04
Ceci 
 
 
| Code : 
 | 
 
est anormal puisque tu n'utilises le retour de place, tu as sans doute une erreur ici.
Marsh Posté le 20-03-2006 à 00:15:04
oui c'etait ca trap  D, je devais faire 
| Code : 
 | 
 
merci bcp
Marsh Posté le 19-03-2006 à 20:16:26
j'ai la fonction recusive ci-dessu, suposons qu'on a un cas qui passe par les etapes 2/3/5/2/3/4, normalement la valeur de retour de la fonction recursive c'est r (de l'etape 4).alors que le programme me retourn NULL . Quelqu'un peux m'expliquer pourquoi? merci.
Message édité par d_imane le 19-03-2006 à 20:50:04