Add FILE ORGANIZATION FROM THE START

This commit is contained in:
NyxiumYuuki 2019-12-07 20:39:59 +01:00
parent 1795f0287b
commit 43b0081d65
No known key found for this signature in database
GPG key ID: 03E8F3CF3183323A
16 changed files with 95 additions and 67 deletions

View file

@ -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)* - 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 !*** - ***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** 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

View file

@ -1,15 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
struct zoccurence{
int nb;
char lettre;
};
typedef struct zoccurence occ;
typedef struct zoccurence * freq;

View file

@ -1,50 +1,50 @@
#include <stdio.h> #include <stdio.h>
#include <assert.h> #include <assert.h>
#define BIN_MAX 8 #define BIN_MAX 8
void binaire(unsigned int n, char s[]); void binaire(unsigned int n, char s[]);
int main(int argc, char **argv){ int main(int argc, char **argv){
FILE *file; FILE *file;
char buffer; char buffer;
int cursor,c,i; int cursor,c,i;
file=fopen("text.txt","rb"); file=fopen("text.txt","rb");
char text_b[5][BIN_MAX+1]; char text_b[5][BIN_MAX+1];
i=0; i=0;
// EOF : End Of File // EOF : End Of File
while((c=fgetc(file))!=EOF){ while((c=fgetc(file))!=EOF){
char sb[BIN_MAX+1]; char sb[BIN_MAX+1];
binaire(c,sb); binaire(c,sb);
printf("%s\n",sb); printf("%s\n",sb);
} }
for(i=0;i<5;i++){ for(i=0;i<5;i++){
for(int j=0;j<BIN_MAX;j++){ for(int j=0;j<BIN_MAX;j++){
printf("%c",text_b[i][j]); printf("%c",text_b[i][j]);
} }
} }
fclose(file); fclose(file);
return 0; return 0;
} }
void binaire(unsigned int n, char s[]){ void binaire(unsigned int n, char s[]){
/* /*
Décomposition binaire d'un entier (<BIN_MAX) et place celle-ci dans une chaîne de caractères passée en argument (s) Décomposition binaire d'un entier (<BIN_MAX) et place celle-ci dans une chaîne de caractères passée en argument (s)
*/ */
assert(n>=BIN_MAX); assert(n>=BIN_MAX);
s[BIN_MAX]= '\0'; s[BIN_MAX]= '\0';
int i,r; int i,r;
i=0; i=0;
while(n!=0){ while(n!=0){
r = n%2; r = n%2;
n = n/2; n = n/2;
if(0<=(BIN_MAX-i-1) && (BIN_MAX-i-1)<=BIN_MAX){ if(0<=(BIN_MAX-i-1) && (BIN_MAX-i-1)<=BIN_MAX){
if(r==0) s[BIN_MAX-i-1]= '0'; if(r==0) s[BIN_MAX-i-1]= '0';
else s[BIN_MAX-i-1]= '1'; else s[BIN_MAX-i-1]= '1';
i++; i++;
} }
} }
int k; int k;
for(k=BIN_MAX-i-1;k>=0;k--){ for(k=BIN_MAX-i-1;k>=0;k--){
s[k]= '0'; s[k]= '0';
} }
} }

View file

@ -1,15 +1,18 @@
#include <stdio.h> #include <stdio.h>
#include "arbre_binaire.h" #include "arbre_binaire.c"
#include "liste.c"
int main () int main ()
{ {
freq Test[5]={{7,'a'},{1,'c'},{3,'g'},{1,'t'},{1,'END'}}; Freq Test;
} }
/* /*
L est considéré comme ordonné L est considéré comme ordonné
*/ */
arbre huffman(arbre H, freq L[]) arbre huffman(arbre H, Freq L[])
{ {
int i; int i;

3
main_decompress.c Normal file
View file

@ -0,0 +1,3 @@
/*
MAIN POUR DECOMPRESSER
*/