arbre

arbre - C - Programmation

Marsh Posté le 10-05-2011 à 00:40:01    

bonjour,
j'ai un arbre qui contient des produits dans l'ordre suivant:
les racines sont les produits finis,au milieu les produits semi-finis et les feuilles les matieres premieres or ce que j'essais de faire est d'afficher pour chaque produit finis ses matieres premieres mais je bloque vraiment!! :??:  :??:  je sais que ça se fais recursivement mais je n'ai pas reussi à faire.si vous pouvez bien m'aider et merci d'avance!!

Reply

Marsh Posté le 10-05-2011 à 00:40:01   

Reply

Marsh Posté le 10-05-2011 à 14:46:25    

Ben il faudrait que tu poste le code qui défini ta structure et ce que tu as fais pour essayer de l'afficher...


---------------
sheep++
Reply

Marsh Posté le 07-06-2011 à 13:04:36    

si ta structure ressemble à quelque chose comme ça :  
 

Code :
  1. struct NOEUD
  2. {
  3.    char Produit[64];
  4.    int Nombre_Fils;
  5.    struct NOEUD** Tableau_fils;
  6. };
  7. typedef struct NOEUD * ARBRE;


 
en admettant qu'un arbre vide est un pointeur NULL, alors ta fonction d'affichage ressemblera à ça :
 

Code :
  1. void AfficheArbreRec(ARBRE A, int Rang)
  2. {
  3.    if(A != NULL)
  4.    {
  5.       int i = 0;
  6.       for(; i < Rang; i++)
  7.          printf("\t" );
  8.       printf("-> %s\n", A->Produit);
  9.       for(i = 0; i < A->Nombre_Fils; i++)
  10.          AfficheArbreRec(A->Tableau_Fils[i], Rang + 1);
  11.    }
  12.    return;
  13. }
  14. void AfficheArbre(ARBRE A)
  15. {
  16.    AfficheArbreRec(A, 0);
  17.    return;
  18. }


---------------
http://www.microcontest.com - Site de challenges de programmation : Cryptographie - Multimedia - Intelligence Artificielle - Réseaux - Algorithmique - Mathématiques
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed