Accueil > Forum > > > > Affichage d'un arbre dynamique(en C)
Affichage d'un arbre dynamique(en C)
samedi 26 mai 2007 à 00:31:07 |
Affichage d'un arbre dynamique(en C)

marocweb
|
bonjour tout le monde, j'ai un arbre déja crée en mémoire en utilisant les listes chainées et cela comme suit : Chaque noeud point vers une liste chainée qui contient un ou plusieurs éléments selon le nombre de sous-noeuds, chaque élément point lui même sur un autre noeud... ça passe comme ça.. maintenant la focntion que je cherche doit afficher l'arbre comme suit : Ex : Noeud1 Noeud2 Noeud3 Noeud4 Noeud5 Noeud6 Noeud7 Noeud8
|
|
samedi 26 mai 2007 à 10:16:12 |
Re : Affichage d'un arbre dynamique(en C)

The_Guardian
|
Salut,
Avec la récursion c'est pas difficile. affichageArbre( liste L, decalage D ) pourtout element E de la liste L faire afficher noeud(E) avec un decalage de D espaces affichageArbre( sous-liste de E, D+2 ) finpourtout
===
|
|
samedi 26 mai 2007 à 13:07:20 |
Re : Affichage d'un arbre dynamique(en C)

marocweb
|
bonjour,
merci pour votre réponse ultra rapide, cependant j'ai pas bien compris.. l'utilité de la variable D ?
merci
|
|
samedi 26 mai 2007 à 13:28:08 |
Re : Affichage d'un arbre dynamique(en C)

The_Guardian
|
RE
L'utilite de la variable D c'est d'afficher avec un decalage qui change selon le niveau dans l'arbre, c'est plus joli si au niveau 3 y'a 6 espaces que si y'en avait aucun (sinon on voit pas la structure d'arbre)
===
|
|
samedi 26 mai 2007 à 14:49:53 |
Re : Affichage d'un arbre dynamique(en C)

marocweb
|
C'est exactement ce que je cherche, la fonction que j'ai développé affiche uniquement l'arbre comme ça :
Noeud1 2 3 4 5 6
sans tabulation ni espace !
voila la fonction :
void affichage(dossier *P){
puts(P->nom);
if(P->racines!=NULL){
R=P->racines; while(R!=NULL){ affichage(R->pcible); R=R->next; }
}
}
J'ai pas réussi a integré une variable qui change selon la profondeur. pouvez vous svp me dire comment ? voila les sctructures utilisées pour définir l'arbre et ses racines :
typedef struct rac{
struct rep *pcible; struct rac *next;
}racine;
typedef struct rep{
char nom[30]; struct rac *racines;
}dossier;
Merci merci merci.
|
|
samedi 26 mai 2007 à 14:56:41 |
Re : Affichage d'un arbre dynamique(en C)

The_Guardian
|
Réponse acceptée !
RE
Ajoute un parametre a ta fonction comme je l'ai fait.
Il suffit donc que tu fasses: void affichage(dossier * P, int n) puis ensuite une boucle pour faire n fois un espace
===
|
|
samedi 26 mai 2007 à 15:38:13 |
Re : Affichage d'un arbre dynamique(en C)

marocweb
|
je l'ai déja testé mais, elle affiche l'arbre comme ca
noeud1 noeud2 noeud3 noeud4 noeud5 noeudx
alors que noeud x doit être au même niveau que noeud1.
|
|
samedi 26 mai 2007 à 15:53:39 |
Re : Affichage d'un arbre dynamique(en C)

The_Guardian
|
RE
colle le code STP merci que je regarde et evite d'utiliser variable globale.
|
|
dimanche 27 mai 2007 à 01:28:58 |
Re : Affichage d'un arbre dynamique(en C)

marocweb
|
j'ai ajouté quelques modifications sur la fonction. Maintenant elle affiche l'arbre comme ça :
Noeud1 Noeud2 noeud3 noeud4 ...
ils onts tous une tabulation avant sauf le premier noeud, voila la fonction maintenant :
void affichage(dossier *P,int d){
for(i=0;i<d;i++) printf("\t"); puts(P->nom);
if(P->racines!=NULL){
R=P->racines; while(R!=NULL){ affichage(R->pcible,d+2); R=R->next; }
}
}
Je l'appel dans main la premier fois comme ça : affichage(L,0)
|
|
dimanche 27 mai 2007 à 11:06:34 |
Re : Affichage d'un arbre dynamique(en C)

The_Guardian
|
RE
OK y'a deux trucs a faire : - mettre les variables "i" et "R" en local dans la fonction - s'assurer que la liste initiale est bien creee comme il faut sinon c'est bon
===
|
|
Cette discussion est classée dans : arbre, dynamique, affichage, noeud, suit
Répondre à ce message
Sujets en rapport avec ce message
Affichage d'une image dynamique [ par jelly ]
Je cherche à afficher une image dans une boîte de dialogue, sachant que cette image ne sera pas stockée dans l'exécutable (via le .RC), mais sera dans
Probleme avec mon programme en C [ par nono1307 ]
Je dois faire une fonction insertion dans un arbre ternaire.Voici ce que j'ai fait :#include #include #includ
Problème pointeur en c++ [ par ch3mical ]
Bonjourj'ai un problème avec une partie de code , lorsque je créer mon arbre binaire jai un message d'erreur lorsque je rappel ma fonction récursive .
arbre binaire [ par Alesx ]
Salut à tous !!Voilà, en ce moment je bosse sur les arbres BSP et j'aurais voulu savoir si qqun parmis vous avez dans sa hotte (je sais c pas noiël ma
créer une liste à partir d'un arbre [ par morganistic ]
bonjour a tous!voila deux structures : une liste et un arbre.je n arrive pas a parcourir un arbre en inserant chaque noeud de l arbre dans une liste..
Affichage de texte dynamique ? [ par tintin72 ]
Bonjour, J'aimerai avoir certaines confirmations au sujet de l'affichage de texte dynamique.J'ai fait un programme qui affiche dynamiquement (avec Inv
Les iterateurs en c++ Help me ! [ par Saris ]
Bonjour à tous,J'suis bien embèté car je capte pas grand chose au fonctionnement des itérateurs ou plutôt à l'utilité de ceux-ci dans mon projet pour
Itérateurs en c++ 2 [ par Saris ]
Lorsque je crée un iterateur sur un Arbre, comment puis-je faire en sorte que cet iterator point sur la racine de mon arbre?class Arbre{ private : cl
Affichage dynamique [ par esquiule ]
Bonjour,je programme avec visual C++ 6.0.Je cherche à construire un formulaire dynamique.Mon formulaire au départ est constitué d'une ligne (composée
problème C++ help urgent ! [ par Saris ]
Voici un morceau de ma classe générique d'un arbre./****************************************************************************<
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|