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){
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
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.