Comme je ne vois pas l'arbre au milieu de la foret je m'en remet a vous
C'est un dictionnaire et pour l'instant je ve juste afficher mon arbre bianaire. Mais le programme fonctione correctement pour une liste de 5 mots, puis au dela il me fait un access violation.
typedef struct noeud
{
struct noeud *suivant[26];
int fin_de_mot;
char symbole;
} NOEUD;
void insertion(char mot_a_inserer[80],NOEUD *p)
{
int indice,i;
indice=0;
char lettre;
int CODE_ASCII;
NOEUD *nouveau;
lettre=mot_a_inserer[indice];
CODE_ASCII=lettre;
NOEUD *suivant[CODE_ASCII];
if (mot_a_inserer[1]=='\0')
{
return ;
}
else
{
if (p->suivant[CODE_ASCII]==NULL)
{
printf("le caractere %c n'existe pas\n",mot_a_inserer[indice]);
nouveau=(NOEUD*)malloc (sizeof(NOEUD));
p->suivant[CODE_ASCII] = nouveau;
for (i=65;i<=90;i++)
nouveau->suivant[i]=NULL;
nouveau->symbole=mot_a_inserer[indice];
if(mot_a_inserer[indice+1]!='\0')
nouveau-> fin_de_mot=0;
else
nouveau-> fin_de_mot=1;
p= nouveau;
}
else
p=p->suivant[CODE_ASCII];
supprimer_premiere_lettre(mot_a_inserer,mot_a_inserer);
if (mot_a_inserer[indice]!='\0')
printf("nouveau mot a inserer: %s\n",mot_a_inserer);
insertion(mot_a_inserer,p) ;
}
}
La connerie est universel