From f00fa1d11401c22e933c51ba5c593d13199bab53 Mon Sep 17 00:00:00 2001 From: TanguyV Date: Tue, 2 Apr 2019 14:44:07 +0200 Subject: [PATCH] projet0 --- projet0.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ projet0.c~ | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+), 0 deletions(-) create mode 100644 projet0.c create mode 100644 projet0.c~ diff --git a/projet0.c b/projet0.c new file mode 100644 index 0000000..0bda536 --- /dev/null +++ b/projet0.c @@ -0,0 +1,65 @@ +#include +#include + +#define A 26 + +struct node { + char lettre; + struct cell* listeLettre; +}; + +struct cell { + struct node* arbre; + struct cell* suivant; +}; + +void initialisation_tab_arbre(struct node tab[]) { + for(int i = 0; i < A; i++) { + tab[i].lettre = 97+i; //ajout lettres minuscules + } + /*for(int i = 0; i < 8; i++) { + tab[i+26].lettre = 130+i; //ajout caractères spéciaux + }*/ +} + +void ajout_tete(char elem, struct cell** pL) { + struct cell* p; + p = malloc(sizeof(struct cell)); + p->arbre = malloc(sizeof(struct node)); + p->arbre->lettre = elem; + p->suivant = *pL; + *pL = p; +} + +void insertion(char elem, struct cell** pL) { + if((*pL == NULL)||((*pL)->arbre->lettre > elem)) ajout_tete(elem, pL); + else if((*pL)->arbre->lettre == elem) return; + else insertion(elem, &(*pL)->suivant); +} + +/*void affiche_tab(struct node tab[]) { + for(int i = 0; i < 32; i++) { + printf("%c\n", tab[i].lettre); + } + }*/ + +void lire_fichier(FILE* fd, ) { + +} + +int main(int argc, char* argv[]) { + FILE* fd, + + struct node tab_arbre[A]; + struct node Arbre; + char lettre; + + if(argc>1) fd = fopen(argv[1], "r"); + + Arbre.listeLettre = NULL; + initialisation_tab_arbre(tab_arbre); + scanf("%c", &lettre); + insertion(lettre, &(Arbre.listeLettre)); + //printf("lettre : %c\n", Arbre.listeLettre->arbre->lettre); + return 0; +} diff --git a/projet0.c~ b/projet0.c~ new file mode 100644 index 0000000..a69b6db --- /dev/null +++ b/projet0.c~ @@ -0,0 +1,60 @@ +#include +#include + +#define A 26 + +struct node { + char lettre; + struct cell* listeLettre; +}; + +struct cell { + struct node* arbre; + struct cell* suivant; +}; + +void initialisation_tab_arbre(struct node tab[]) { + for(int i = 0; i < A; i++) { + tab[i].lettre = 97+i; //ajout lettres minuscules + } + /*for(int i = 0; i < 8; i++) { + tab[i+26].lettre = 130+i; //ajout caractères spéciaux + }*/ +} + +void ajout_tete(char elem, struct cell** pL) { + struct cell* p; + p = malloc(sizeof(struct cell)); + p->arbre = malloc(sizeof(struct node)); + p->arbre->lettre = elem; + p->suivant = *pL; + *pL = p; +} + +void insertion(char elem, struct cell** pL) { + if((*pL == NULL)||((*pL)->arbre->lettre > elem)) ajout_tete(elem, pL); + else if((*pL)->arbre->lettre == elem) return; + else insertion(elem, &(*pL)->suivant); +} + +/*void affiche_tab(struct node tab[]) { + for(int i = 0; i < 32; i++) { + printf("%c\n", tab[i].lettre); + } + }*/ + +void lire_fichier() { + +} + +int main() { + struct node tab_arbre[A]; + struct node Arbre; + char lettre; + Arbre.listeLettre = NULL; + initialisation_tab_arbre(tab_arbre); + scanf("%c", &lettre); + insertion(lettre, &(Arbre.listeLettre)); + //printf("lettre : %c\n", Arbre.listeLettre->arbre->lettre); + return 0; +} -- libgit2 0.21.2