Arbre n-aire

pnkouzi Messages postés 1 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 25 juin 2011 - 25 juin 2011 à 02:37
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 28 juin 2011 à 02:07
salut tout monde
je veux créer un arbre n-aire et j'ai fait ce programme ms ça marche pas comme il faut
quelqu'un peut m'aider à faire ce truc parce que je vais me baser sur ça pour faire pas mal de chose et merci ...


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

typedef struct Arbre
{
char nom[20];
char type;
struct Arbre * fils;
struct Arbre * frere;
} Arbre;


Arbre * CreerFilsFrere(Arbre * Racine)
{
char rep;
printf("%s a-t-il un Fils : ",Racine->nom);
scanf("%c",&rep);
if(rep=='o' || rep=='O')
{
Racine->fils=(Arbre*)malloc(sizeof(Arbre));
printf("Entrer le nom du Fils");
scanf("%s",Racine->fils->nom);
printf("Entrer le type du Fils");
scanf("%c",Racine->fils->type);
Racine->fils=CreerFilsFrere(Racine->fils);
}
else
Racine->fils=NULL;
printf("%s a-t-il un Frere : ",Racine->nom);
scanf("%c",&rep);
if(rep=='o' || rep=='O')
{
Racine->frere=(Arbre*)malloc(sizeof(Arbre));
printf("Entrer le nom du Fils");
scanf("%s",Racine->frere->nom);
printf("Entrer le type du Fils");
scanf("%c",Racine->frere->type);
Racine->fils=CreerFilsFrere(Racine->frere);
}
else
Racine->frere=NULL;
}

void main()
{
Arbre *l;
printf("donner le nom de l'arbre");
scanf("%s",l->nom);
l->type='F';
l->fils=NULL;
l->frere=NULL;
l=CreerFilsFrere(l);


}
A voir également:

1 réponse

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
28 juin 2011 à 02:07
salut,

Arbre *l = (Arbre*) malloc...

sinon l->nom n'existe pas.

Tu as oublié l'acces aux parents.

@++
0