lordvan
Messages postés4Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention 8 avril 2006
-
6 avril 2006 à 21:53
lordvan
Messages postés4Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention 8 avril 2006
-
7 avril 2006 à 14:00
Bonjour à tous,
je suis novice dans le programmation en C et j'ai besoin de votre aide
car il me faut une fonction, qui calcule la hauteur maximale d'un arbre
(un nb entier de branches). Sachant que cette hauteur max peut se
trouver n'importe ou ! J'ai essayé de faire de cette façon :
void hauteur(pnoeud arbre, int max, int *compteur){
int*l=0;
if(arbre != NULL){
cs_stenka
Messages postés14Date d'inscriptionlundi 13 février 2006StatutMembreDernière intervention30 octobre 2006 6 avril 2006 à 22:35
En effet, cette fonction ne semble pas très au point! Il serait surtout utile de préciser comment sont construites les classes (ou structures) pnoeud et arbre. Lorsque la f° hauteur se rappelle elle-même, tu lui passes un pnoeud qui est membre d'un arbre par l'intermédiaire d'un pointeur d'arbre (arbre->fg) : pourquoi?
Remarque : sauf erreur de ma part, -> est n'est pas un opérateur du c mais du cpp
lordvan
Messages postés4Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention 8 avril 2006 7 avril 2006 à 14:00
Merci beaucoup Amaury, ta fonction répond tout à fait à mes
attentes et en plus on ne peut pas faire plus simple ! J'ai honte
d'avoir fait des erreurs, peut être que ça changera avec le temps.
Par ailleurs, je voulais savoir si vous saviez la façon de procéder
pour incrémenter de 1 le nb de cases d'un tableau (initialement int
tab[0]) ? Je crois qu'il faut utiliser les fonctions realloc ou calloc
mais je ne sais pas m'en servir !
En fait, j'ai besoin de savoir ça pour faire une fonction qui parcours
un arbre de huffman. Je parcours cet arbre de la racine au feuille. Je
vais de droite à gauche, lorsque je vais à droite, je mets un 1, et
quand je vais à gauche je mets un 0. Ainsi, quand j'arrive à une
feuille, qui correspond à un caractère, je mets dans un tableau, le
nouveau code de ce caractère.