A voir également:
- Arbre en c
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Arbre genealogique windsor - Télécharger - Généalogie
- L'arbre Généalogique de la famille - Télécharger - Généalogie
- Arbre à clochette 99000 ✓ - Forum Jeux vidéo
- Arbre généalogique vierge gratuit à imprimer a4 - Forum loisirs/vie pratique
6 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 mai 2008 à 17:59
25 mai 2008 à 17:59
Salut,
voici un exemple (à toi d'adapter)
voici un exemple (à toi d'adapter)
#include<stdio.h> #include<stdlib.h> typedef struct N_ { int nb; struct N_*gauche; struct N_*droite; } Noeud; void CreerArbre (Noeud ** racine, int n); void Traiter (Noeud * racine); void AfficherPrefixe (Noeud * racine); void AfficherPostfixe (Noeud * racine); void AfficherInfixe (Noeud * racine); Noeud *alloc (); int main () { Noeud *racine; racine = NULL; int n; printf ("Numéro [100 pour terminer] ? "); scanf ("%d", &n); while (n != 100) { CreerArbre (&racine, n); printf ("Numéro [100 pour terminer] ? "); scanf ("%d", &n); } AfficherPrefixe (racine); puts (""); AfficherInfixe (racine); puts (""); AfficherPostfixe (racine); puts (""); return 0; } void CreerArbre (Noeud ** racine, int n) { Noeud *nouveau; nouveau = alloc (); if (*racine == NULL) { nouveau->nb = n; nouveau->gauche = NULL; nouveau->droite = NULL; *racine = nouveau; } else if (n < (*racine)->nb) CreerArbre (&(*racine)->gauche, n); else if (n > (*racine)->nb) CreerArbre (&(*racine)->droite, n); } Noeud *alloc () { Noeud *noeud; noeud = (Noeud *) malloc (sizeof (Noeud)); return noeud; } void Traiter (Noeud * racine) { printf ("%d (%p) ; ", racine->nb, racine); } void AfficherPrefixe (Noeud * racine) { if (racine != NULL) { Traiter (racine); AfficherPrefixe (racine->gauche); AfficherPrefixe (racine->droite); } } void AfficherPostfixe (Noeud * racine) { if (racine != NULL) { AfficherPostfixe (racine->gauche); AfficherPostfixe (racine->droite); Traiter (racine); } } void AfficherInfixe (Noeud * racine) { if (racine != NULL) { AfficherInfixe (racine->gauche); Traiter (racine); AfficherInfixe (racine->droite); } }
gdavis
Messages postés
4
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 juin 2008
3
7 juin 2008 à 21:24
7 juin 2008 à 21:24
Merci lami20j,
C'est génial.
Cpdant, j'ai écris un truc qui me coince à tout moment avec des erreur.
Donc je veux un qui marche sans error, afin de bien comprendre les contours de C.
Je rappelle mon 1er prob:
Un programme C qui me permet de retrouver la représentation fonctionnelle d'un arbre abstrait:
1- à partir de sa représentation préfixée d'une part,
2 - et de sa représentation postfixée d'autre part,
3 - en fin de sa représentation infixée.
Bonne soirée
C'est génial.
Cpdant, j'ai écris un truc qui me coince à tout moment avec des erreur.
Donc je veux un qui marche sans error, afin de bien comprendre les contours de C.
Je rappelle mon 1er prob:
Un programme C qui me permet de retrouver la représentation fonctionnelle d'un arbre abstrait:
1- à partir de sa représentation préfixée d'une part,
2 - et de sa représentation postfixée d'autre part,
3 - en fin de sa représentation infixée.
Bonne soirée
je peux te filer des fonction pour les parcours d'arbre et compagnie mais faut attendre demain...
BON TU VEUX DES FONCTIONS EN RECURSIF?
gdavis
Messages postés
4
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 juin 2008
3
7 juin 2008 à 19:53
7 juin 2008 à 19:53
Bsoir COC.C
Tu sais, je suis un débutant en C.
Ainsi, il me faut quelque chose qui marche bien pour me permettre de comprendre les contours de cet environnement également.
Des fonctions récursives ne me gêneront pas.
L'optimisation viendra après.
Bne soiréé
Tu sais, je suis un débutant en C.
Ainsi, il me faut quelque chose qui marche bien pour me permettre de comprendre les contours de cet environnement également.
Des fonctions récursives ne me gêneront pas.
L'optimisation viendra après.
Bne soiréé
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir
Qu'est ce qui fait la différence entre un code écrit en c sous windows et le même code en c sous linux?
Qu'est ce qui fait la différence entre un code écrit en c sous windows et le même code en c sous linux?
kcmo31
Messages postés
18
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2009
12 janv. 2009 à 19:32
12 janv. 2009 à 19:32
bonjour , j'utilise les outil lex et yacc pour concevoir une grammaire connue , j'ai besoin d'une méthode pour le parcour d'un arbre n-aire au niveau de yacc ( méthode écrite en C )
merci
merci
4 avril 2010 à 18:53
6 mai 2013 à 07:39