#include #include #define delta 6 #define largeur_max 8 #define h_tot 4 typedef struct noeud { int donnee; struct noeud * FG, * FD; }Noeud; int table[5]; Noeud * construire(void); Noeud * inserer(Noeud *, int); void dessiner(int, char, int, Noeud *); int main() { Noeud * arbre; arbre=construire(); if (arbre!=NULL) dessiner(0,0,largeur_max, arbre); return 0; } Noeud * construire(void) { Noeud * rac=NULL; int nombre; printf("Indiquer les donnéees et terminer par -1\n"); scanf("%d",&nombre); while (nombre!=-1) { rac=inserer(rac,nombre); scanf("%d",&nombre); } return rac; } Noeud * inserer(Noeud * racine, int la_donnee) { Noeud * p; p=(Noeud *)malloc(sizeof(Noeud)); p->donnee=la_donnee; p->FG=p->FD=NULL; if (racine==NULL) return p; else if (la_donnee<=racine->donnee)racine->FG=inserer(racine->FG,la_donnee); else racine->FD=inserer(racine->FD,la_donnee); return racine; } void dessiner (int h, char cote, int largeur, Noeud * racine) { int i,j,k; if (h>0) if (cote=='d') table[h-1]= 1; else table[h-1]= 0; if (racine->FG!=NULL) { dessiner(h+1,'g',largeur/2,racine->FG); } else if (h>0) { for (i=0;i0) for (i=0;idonnee); if (h>0) if (cote=='g') table[h-1]= 1; else table[h-1]= 0; if (racine->FD!=NULL) { dessiner(h+1,'d',largeur/2,racine->FD); } else if (h>0) { for (i=0;i