1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| #include<stdio.h>
#include<stdlib.h>
typedef struct noeud *arbre;
struct noeud {
char val;
arbre g,d;
};
arbre a;
void filsgauche(arbre *a)
{
char c,val;arbre p;
p=(noeud*)malloc(sizeof(noeud));
printf("inroduisez la valeur ");
scanf("%s",&val);
(*p).val=val;
(*(*a)).g=p;
}
void filsdroite(arbre *a)
{
char c,val;arbre p;
p=(noeud*)malloc(sizeof(noeud));
printf("inroduisez la valeur ");
scanf("%s",&val);
(*p).val=val;
(*(*a)).d=p;
}
void creation(arbre *a)
{
char c;
printf("voulez vous introduire une valeur ");
scanf("%s",&c);
if(c=='o')
{
filsgauche(&(*a));
creation(&(*a).g); /*le probleme est ici*/
filsdroite(&(*a));
creation(&(*a).d);
}
}
main()
{
char c,val;arbre p;
p=(noeud*)malloc(sizeof(noeud));
printf("introduiser la valeur de la racine principale ");
scanf("%s",&val);
(*a).val=val;
creation(&a);
system("pause");
} |
Partager