From 43b0081d6544704a03a2c77cd3d47e58d0ec062a Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sat, 7 Dec 2019 20:39:59 +0100 Subject: [PATCH] Add FILE ORGANIZATION FROM THE START --- Yûki/arbre_de_codage/Makefile => Makefile | 0 README.md | 37 +++++++ .../frequence_dapparition_char.c | 15 --- .../arbre_binaire.c | 0 .../arbre_binaire.h | 0 .../liste.c | 0 .../liste.h | 0 .../bit_a_bit.c | 98 +++++++++--------- .../bit_a_bit.exe | Bin .../bit_a_bit.o | Bin .../gestion_fichiers.c | 0 .../gestion_fichiers.h | 0 .../lorem_ipsum.txt | 0 .../text.txt | 0 .../main_compress.c => main_compress.c | 9 +- main_decompress.c | 3 + 16 files changed, 95 insertions(+), 67 deletions(-) rename Yûki/arbre_de_codage/Makefile => Makefile (100%) delete mode 100644 Yûki/arbre_de_codage/frequence_dapparition_char.c rename {Yûki/arbre_de_codage => arbre_de_codage}/arbre_binaire.c (100%) rename {Yûki/arbre_de_codage => arbre_de_codage}/arbre_binaire.h (100%) rename {Yûki/arbre_de_codage => arbre_de_codage}/liste.c (100%) rename {Yûki/arbre_de_codage => arbre_de_codage}/liste.h (100%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/bit_a_bit.c (95%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/bit_a_bit.exe (100%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/bit_a_bit.o (100%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/gestion_fichiers.c (100%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/gestion_fichiers.h (100%) rename lorem_ipsum.txt => gestion_des_fichiers/lorem_ipsum.txt (100%) rename {Yûki/gestion_des_fichiers => gestion_des_fichiers}/text.txt (100%) rename Yûki/arbre_de_codage/main_compress.c => main_compress.c (52%) create mode 100644 main_decompress.c diff --git a/Yûki/arbre_de_codage/Makefile b/Makefile similarity index 100% rename from Yûki/arbre_de_codage/Makefile rename to Makefile diff --git a/README.md b/README.md index 878e6e0..6024e45 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,40 @@ - Publier enfin vos changements en appuyant sur le bouton en bas à droite ![Img VSCode Publier Modifications](https://cdn.vachot.fr/img/vscode_icon_publish_modifications_25x21.png) *(Il faudra vous connecter à votre compte GitHub)* - ***Félicitations vous avez enfin fait votre premier commit !*** 10. Vous pouvez maintenant voir les changements entre les différents fichiers, voir l'avancement des autres collaborateurs et vous pouvez aussi commit vos changements en répétant les **étapes 7 et 8** + + +## TRAVAIL A FAIRE ET ORGANISATION DES FICHIERS + +### TRAVAIL A FAIRE +1. **GESTION DES FICHIERS** + - Structure Gérer les échanges avec le disque, mémorisant notamment l’état des échanges en cours + - Fonction Ouvrir un fichier binaire en lecture ou écriture + - Fonction Ecrire un bit dans un fichier binaire + - Fonction Lire un fichier binaire + - Fonction Fermer un fichier +2. **ARBRE DE CODAGE** + - Fonction Fréquence d'apparition des caractères dans un fichier + - *Tri à faire pour les occurences des caractères(Quicksort)* + - Implémentation de l'algorithme de construction de l'arbre de codage (Module Arbres_Binaires) + - *Tri à faire (Bulle)* + +3. **COMPRESSION** + - Fonction de compression d'un fichier texte dans un fichier binaire +4. **DECOMPRESSION (EXTRACTION)** + - Fonction d'extraction d'un fichier texte depuis un fichier compressé + +### ORGANISATION DES FICHIERS + +- **Racine** + - Makefile + - main_compress.c + - main_decompress.c + - **/gestion_des_fichiers** + - gestion_fichiers.h + - gestion_fichiers.c + - **/arbre_de_codage** + - arbre_binaire.h + - arbre_binaire.c + - liste.h + *(Utile pour stocker le nombre d'occurence d'un caractère)* + - liste.c \ No newline at end of file diff --git a/Yûki/arbre_de_codage/frequence_dapparition_char.c b/Yûki/arbre_de_codage/frequence_dapparition_char.c deleted file mode 100644 index 9f185d3..0000000 --- a/Yûki/arbre_de_codage/frequence_dapparition_char.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include - -struct zoccurence{ - int nb; - char lettre; -}; -typedef struct zoccurence occ; -typedef struct zoccurence * freq; - - - - - - diff --git a/Yûki/arbre_de_codage/arbre_binaire.c b/arbre_de_codage/arbre_binaire.c similarity index 100% rename from Yûki/arbre_de_codage/arbre_binaire.c rename to arbre_de_codage/arbre_binaire.c diff --git a/Yûki/arbre_de_codage/arbre_binaire.h b/arbre_de_codage/arbre_binaire.h similarity index 100% rename from Yûki/arbre_de_codage/arbre_binaire.h rename to arbre_de_codage/arbre_binaire.h diff --git a/Yûki/arbre_de_codage/liste.c b/arbre_de_codage/liste.c similarity index 100% rename from Yûki/arbre_de_codage/liste.c rename to arbre_de_codage/liste.c diff --git a/Yûki/arbre_de_codage/liste.h b/arbre_de_codage/liste.h similarity index 100% rename from Yûki/arbre_de_codage/liste.h rename to arbre_de_codage/liste.h diff --git a/Yûki/gestion_des_fichiers/bit_a_bit.c b/gestion_des_fichiers/bit_a_bit.c similarity index 95% rename from Yûki/gestion_des_fichiers/bit_a_bit.c rename to gestion_des_fichiers/bit_a_bit.c index 2a9cb70..12118c6 100644 --- a/Yûki/gestion_des_fichiers/bit_a_bit.c +++ b/gestion_des_fichiers/bit_a_bit.c @@ -1,50 +1,50 @@ -#include -#include -#define BIN_MAX 8 - -void binaire(unsigned int n, char s[]); - -int main(int argc, char **argv){ - FILE *file; - char buffer; - int cursor,c,i; - file=fopen("text.txt","rb"); - char text_b[5][BIN_MAX+1]; - i=0; - // EOF : End Of File - while((c=fgetc(file))!=EOF){ - char sb[BIN_MAX+1]; - binaire(c,sb); - printf("%s\n",sb); - } - for(i=0;i<5;i++){ - for(int j=0;j=BIN_MAX); - s[BIN_MAX]= '\0'; - int i,r; - i=0; - while(n!=0){ - r = n%2; - n = n/2; - if(0<=(BIN_MAX-i-1) && (BIN_MAX-i-1)<=BIN_MAX){ - if(r==0) s[BIN_MAX-i-1]= '0'; - else s[BIN_MAX-i-1]= '1'; - i++; - } - } - int k; - for(k=BIN_MAX-i-1;k>=0;k--){ - s[k]= '0'; - } +#include +#include +#define BIN_MAX 8 + +void binaire(unsigned int n, char s[]); + +int main(int argc, char **argv){ + FILE *file; + char buffer; + int cursor,c,i; + file=fopen("text.txt","rb"); + char text_b[5][BIN_MAX+1]; + i=0; + // EOF : End Of File + while((c=fgetc(file))!=EOF){ + char sb[BIN_MAX+1]; + binaire(c,sb); + printf("%s\n",sb); + } + for(i=0;i<5;i++){ + for(int j=0;j=BIN_MAX); + s[BIN_MAX]= '\0'; + int i,r; + i=0; + while(n!=0){ + r = n%2; + n = n/2; + if(0<=(BIN_MAX-i-1) && (BIN_MAX-i-1)<=BIN_MAX){ + if(r==0) s[BIN_MAX-i-1]= '0'; + else s[BIN_MAX-i-1]= '1'; + i++; + } + } + int k; + for(k=BIN_MAX-i-1;k>=0;k--){ + s[k]= '0'; + } } \ No newline at end of file diff --git a/Yûki/gestion_des_fichiers/bit_a_bit.exe b/gestion_des_fichiers/bit_a_bit.exe similarity index 100% rename from Yûki/gestion_des_fichiers/bit_a_bit.exe rename to gestion_des_fichiers/bit_a_bit.exe diff --git a/Yûki/gestion_des_fichiers/bit_a_bit.o b/gestion_des_fichiers/bit_a_bit.o similarity index 100% rename from Yûki/gestion_des_fichiers/bit_a_bit.o rename to gestion_des_fichiers/bit_a_bit.o diff --git a/Yûki/gestion_des_fichiers/gestion_fichiers.c b/gestion_des_fichiers/gestion_fichiers.c similarity index 100% rename from Yûki/gestion_des_fichiers/gestion_fichiers.c rename to gestion_des_fichiers/gestion_fichiers.c diff --git a/Yûki/gestion_des_fichiers/gestion_fichiers.h b/gestion_des_fichiers/gestion_fichiers.h similarity index 100% rename from Yûki/gestion_des_fichiers/gestion_fichiers.h rename to gestion_des_fichiers/gestion_fichiers.h diff --git a/lorem_ipsum.txt b/gestion_des_fichiers/lorem_ipsum.txt similarity index 100% rename from lorem_ipsum.txt rename to gestion_des_fichiers/lorem_ipsum.txt diff --git a/Yûki/gestion_des_fichiers/text.txt b/gestion_des_fichiers/text.txt similarity index 100% rename from Yûki/gestion_des_fichiers/text.txt rename to gestion_des_fichiers/text.txt diff --git a/Yûki/arbre_de_codage/main_compress.c b/main_compress.c similarity index 52% rename from Yûki/arbre_de_codage/main_compress.c rename to main_compress.c index e2a3885..fba990d 100644 --- a/Yûki/arbre_de_codage/main_compress.c +++ b/main_compress.c @@ -1,15 +1,18 @@ #include -#include "arbre_binaire.h" +#include "arbre_binaire.c" +#include "liste.c" + int main () { - freq Test[5]={{7,'a'},{1,'c'},{3,'g'},{1,'t'},{1,'END'}}; + Freq Test; + } /* L est considéré comme ordonné */ -arbre huffman(arbre H, freq L[]) +arbre huffman(arbre H, Freq L[]) { int i; diff --git a/main_decompress.c b/main_decompress.c new file mode 100644 index 0000000..05d5697 --- /dev/null +++ b/main_decompress.c @@ -0,0 +1,3 @@ +/* + MAIN POUR DECOMPRESSER +*/ \ No newline at end of file