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