j'ai crée un programme qui fait créer un arbre, puis le remplir puis l'affichir mais malheuresent ça fonctionne pas, voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
50
51
52
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
typedef struct arbre
{
	int val;
	struct arbre *g, *d;
}arbre;
 
arbre *insere(arbre *a, int k){
	  if(a==NULL){
		a=(arbre*)malloc(sizeof(arbre));
		a->d=NULL;
		a->g=NULL;
		a->val=k;
	}
	else{
		if(k<a->val) a->g=insere(a->g, k);
		a->d=insere(a->d,k);
	}
	return a;
}
 
void afficher (arbre *a){
	if(a==NULL) printf("il y a rien a afficher");
	if(a!=NULL)
		afficher (a->g);
	printf("%d(",a->val);
	if(a->g==NULL) printf("-");
	else printf("%d",a->g->val);
	if(a->d==NULL) printf(")\n");
	else printf("%d)\n",a->d->val);
	afficher (a->d);	    
}
 
 
 
int main(){
	arbre *T=NULL;
 
	T=insere(T,10);
	T=insere(T,20);
	T=insere(T,3);
	T=insere(T,7);
	T=insere(T,60);
	T=insere(T,44);
	T=insere(T,5);
	afficher(T);
	getch();
	return (0);
}
le programme puis se plante, merci pour votre aide.