From 96df01289c09e79a1c359d23215eeddd31af9812 Mon Sep 17 00:00:00 2001 From: chafiol <antonin.chafiol@gmail.com> Date: Fri, 7 Feb 2020 18:34:29 +0100 Subject: [PATCH] gen tab --- Algos_1/main.c | 66 +++++++++++++++++++++++++++++++++++++++++------- Algos_1/tri | Bin 17456 -> 0 bytes Algos_1/utils.c | 21 ++++++++++----- Algos_1/utils.h | 3 ++- 4 files changed, 73 insertions(+), 17 deletions(-) delete mode 100755 Algos_1/tri diff --git a/Algos_1/main.c b/Algos_1/main.c index d7a567c..13756bf 100644 --- a/Algos_1/main.c +++ b/Algos_1/main.c @@ -4,22 +4,23 @@ #include "utils.h" int main(int argc, char **argv){ - if(argc!=3){ - printf("Usage: ./tri <option> <input.txt>\n"); + if(argc<3){ + printf("Usage: ./tri <option> <input.txt> d \n"); exit(1); } long tab[100]; - int n = readToTab(tab, argv[2]); struct data data; initData(&data); - printf("Base : "); - for(int i = 0; i<n; i++){ - printf("%ld,", tab[i]); - } - printf("\n"); + if((strcmp(argv[1], "--insertion") == 0) || strcmp(argv[1], "-i")== 0){ + int n = readToTab(tab, argv[2]); + printf("Base : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); triInsertion(tab, n); printf("Insertion : "); for(int i = 0; i<n; i++){ @@ -28,6 +29,12 @@ int main(int argc, char **argv){ printf("\n"); } else if(strcmp(argv[1], "--fusion")== 0 || strcmp(argv[1], "-f")== 0){ + int n = readToTab(tab, argv[2]); + printf("Base : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); triFusion(tab, n); printf("Fusion : "); for(int i = 0; i<n; i++){ @@ -36,6 +43,12 @@ int main(int argc, char **argv){ printf("\n"); } else if((strcmp(argv[1], "--rapide")== 0) || strcmp(argv[1], "-r")== 0){ + int n = readToTab(tab, argv[2]); + printf("Base : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); triRapide(tab, n); printf("Rapide : "); for(int i = 0; i<n; i++){ @@ -45,6 +58,12 @@ int main(int argc, char **argv){ } else if (strcmp(argv[1], "-a") == 0) { + int n = readToTab(tab, argv[2]); + printf("Base : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); triInsertion(tab, n); printf("Insertion : "); for(int i = 0; i<n; i++){ @@ -64,8 +83,37 @@ int main(int argc, char **argv){ } printf("\n"); } + else if (strcmp(argv[1], "-g") == 0) + { + if(argc<3){ + printf("Usage: ./tri -g <output.txt> <size>\n"); + exit(1); + } + long *tab; + + size_t t = 0; + if(argc==3){ + t = NULL; + } + else{ + t = atoi(argv[3]); + } + size_t l = 0; + int fd = open(argv[2], O_RDWR | O_CREAT); + tab = generate_tab(t, &l); + dup2(fd, 1); + for(int i = 0; i<t; i++){ + + printf("%ld ", tab[i]); + } + printf("."); + printf("\n"); + close(fd); + + // free(tab); + } else{ - printf("Usage: ./tri <option> <input.txt>\n"); + printf("Usage: ./tri <option> <input.txt> f\n"); } return 0; } \ No newline at end of file diff --git a/Algos_1/tri b/Algos_1/tri deleted file mode 100755 index b1c3b93122fbcac33f253945a94a3c5ed4910bf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17456 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 diff --git a/Algos_1/utils.c b/Algos_1/utils.c index f8bb284..f39e30f 100644 --- a/Algos_1/utils.c +++ b/Algos_1/utils.c @@ -40,16 +40,23 @@ void initData(struct data* d){ d->write = 0; } -void generate_tab(long* t, int nb){ - int taille_tab = 0; - if(nb == NULL){ - taille_tab = (int)(random()+1)%100; +long* generate_tab(size_t nb, size_t *l){ + long* t; + size_t taille_tab = 0; + if(l == NULL){ + taille_tab = (size_t)(random()+1)%100; } else{ taille_tab = nb; } - - for(int i = 0; taille_tab<taille_tab; i++){ - + t = malloc(sizeof(long)*taille_tab); + memset(t, 0, taille_tab); + *l= taille_tab; + size_t i = 0; + for(i = 0; i<taille_tab; i++){ + long p = (long)(rand()%1000); + t[i] = p; } + + return t; } \ No newline at end of file diff --git a/Algos_1/utils.h b/Algos_1/utils.h index a9ce632..e1bdb07 100644 --- a/Algos_1/utils.h +++ b/Algos_1/utils.h @@ -18,4 +18,5 @@ struct data { }; int readToTab(long* tab, char* file); -void initData(struct data* d); \ No newline at end of file +void initData(struct data* d); +long* generate_tab(size_t nb, size_t* l); \ No newline at end of file -- GitLab