projet.c 2.48 KB
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>


typedef struct noeud{
  int valeur;
  struct noeud *lettre[26];
} noeud ;

void creer_et_initialiser_le_noeud(noeud ** parbre, int v){

  *parbre=malloc(sizeof(noeud));
  (*parbre)->valeur=v;
  int i;
  for(i=0;i<26;i++)
  	(*parbre)->lettre[i]=NULL;

}

void remplissage(noeud ** parbre, char ch[128]){
	int i;
	int n=strlen(ch);
	if(&(*parbre)->valeur==NULL)
		creer_et_initialiser_le_noeud(parbre,ch[0]);

	for(i=1;i<n;i++){
		parbre=&(*parbre)->lettre[ch[i]-'a'];
		if(&(*parbre)->valeur==NULL)
			creer_et_initialiser_le_noeud(parbre,ch[i]);	
	}
	
	
}

void lecture(noeud ** parbre, FILE *fichier){
	char ch[128];
	int i;
	noeud ** tmp_parbre=parbre;
	while(fscanf(fichier,"%s",ch)==1)
		remplissage(tmp_parbre,ch);
	
	
}


int main (){
	noeud *Arbre = NULL;
	
	FILE *dico=fopen("dico.txt","r");

	lecture(&Arbre,dico);

	fclose(dico);
	
	FILE *texte=fopen("texte.txt","r");
	fclose(texte);
	
	printf("la lettre est :%c\n",Arbre->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[17]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->valeur);             // afficher arbre
	printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->lettre[17]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->lettre[17]->lettre[4]->valeur);
	
	printf("\n");

	printf("la lettre est :%c\n",Arbre->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[25]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->valeur);          // afficher azerty
	printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->lettre[19]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->lettre[19]->lettre[24]->valeur);
	
	printf("\n");
	
	printf("la lettre est :%c\n",Arbre->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[13]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->valeur);          // afficher azerty
	printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->lettre[0]->valeur);
	printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->lettre[0]->lettre[18]->valeur);

	
	

	
	
  	FILE *corrige = fopen("fautes.txt","w");
	fclose(corrige);
	
	return 0;
	
	

}