Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : langage C : fonction calcul hauteur maximale arbre [ Archives / Au secours ] (lordvan)

jeudi 6 avril 2006 à 21:53:10 | langage C : fonction calcul hauteur maximale arbre

lordvan

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

hauteur(arbre->fg,max,&(compteur+l);
l=compteur;
if(l>max)
max=l;
hauteur(arbre->fd,max,&(compteur-1));

}
}
mais je suis quasiment sur que ça ne va pas fonctionner !

Merci de m'aider à faire marcher cette fonction ++


jeudi 6 avril 2006 à 22:34:02 | Re : langage C : fonction calcul hauteur maximale arbre

Pamaury

Réponse acceptée !
int max_hauteur(pnoeud arbre)
{
   if(arbre==NULL)
      return 0;
   return max(max_hauteur(arbre->fg),max_hauteur(arbre->fd))+1;
}

A m a u r y

jeudi 6 avril 2006 à 22:35:22 | Re : langage C : fonction calcul hauteur maximale arbre

stenka

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

stenka


jeudi 6 avril 2006 à 23:25:11 | Re : langage C : fonction calcul hauteur maximale arbre

BruNews

Administrateur CodeS-SourceS
-> est l'adresseur de champ d'un pointeur de structure en C comme en C++.

ciao...
[ Lien ]
BruNews, MVP VC++

vendredi 7 avril 2006 à 14:00:44 | Re : langage C : fonction calcul hauteur maximale arbre

lordvan



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.
Merci de vos lumières !

@bientot !



Cette discussion est classé dans : fonction, arbre, compteur, hauteur, max


Répondre à ce message

Sujets en rapport avec ce message

compteur binaire [ par DJOL ] bonjour ami developpeur!je suis en 1ere année de bts iris et je dois réaliser un compteur binaire en programmation objet. l'objet est réaliser mais la Fonction qui retourne un tableau [ par Kurul1 ] Bonjour à tous   J'ai une classe contenant un tableau a deux dimensions comme variable private  Ce que je voudrais c'est une fonction ayant pour param Arbre représentant une fonction mathématique [ par r_farez ] Salutje recherche un programme qui permet de générer un arbre binaire représentant une fonction mathématique saisie par l'utilisateur. (ex : ln(3x²) / problème de cout [ par akwell1 ] bonjour,je voudrais savoir comment ce que je dois mettre dans le cout en bas pour que la valeur retour de la fonction s'affiche a l'ecran merci [code] Construire tableau code binaire des caractères avec l'arbre de Huffman [ par lordvan ] Bonjour à tous, voilà, je suis en train d'essayer de faire une fonction de parcours d'arbre de huffman. Cette fonction a pour rôle de construire le co Rafraichissement d'un compteur [ par Bqda ] Bonjour à tous,Donc voilà je suis étudiant et dans le cadre de mes études je dois développer 1 jeu en C++. Le projet avance plutôt bien, mais là j'ai aidez moi svp [ par youssielec ] je cherche a creer un programme qui genere entre 1 et 10 numeros de cartes de credit valides. j dois d abord saisir et valider le nombre de cartes d fonction min max [ par devamos ] bonjour,j'aimerais des corrections,si vous pouvez m'aider j'ai ecri ces instructions en devc++,,, c'est une fonction qui cherche le max et le min dans fonction recv [ par sy3ns ] bonjour, int recv(int s , void * buf , int len , unsigned int flags ); #define MAX  10int ta Arbre binaire profondeur hauteur [ par ecolopolo ] BonjourJe chercher à savoir ce que représente exatement tout ce qui concerne les arbres binaire, par exemple la différence entre la hauteur et la prof


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.