From feaa83bae24b5f9541ed804edebfaab8d056bd46 Mon Sep 17 00:00:00 2001 From: lgayina <louis.gayina@student.uclouvain.be> Date: Sat, 9 May 2020 17:53:03 +0200 Subject: [PATCH] =?UTF-8?q?am=C3=A9liorations=20final?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Final /input.txt | 13 +++++++++++++ Final /main.c | 5 ++++- Final /output.txt | 12 ++++++++++++ Final /utils.c | 11 +++++++---- 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 Final /input.txt create mode 100644 Final /output.txt diff --git a/Final /input.txt b/Final /input.txt new file mode 100644 index 0000000..8ba8ce5 --- /dev/null +++ b/Final /input.txt @@ -0,0 +1,13 @@ +18446744073709551614 +1 +2 +0 +1033268 +361034 +916343 +739080 +975089 +82667 +670049 +640632 +950453 diff --git a/Final /main.c b/Final /main.c index b49038c..aacb03c 100644 --- a/Final /main.c +++ b/Final /main.c @@ -4,10 +4,13 @@ #include <pthread.h> #include "utils.h" #include "utils.c" +#include "buffer.c" +#include "buffer.h" #include <unistd.h> #include <getopt.h> #include <time.h> - +#include <stdint.h> +#include <inttypes.h> #define size 1000 #define capacity 5 diff --git a/Final /output.txt b/Final /output.txt new file mode 100644 index 0000000..5b85602 --- /dev/null +++ b/Final /output.txt @@ -0,0 +1,12 @@ +1 la valeur doit etre plus grande ou egale a 2 +2 2 +1033268 2 258317 +361034 2 97 1861 +18446744073709551614 2 7 73 127 337 92737 649657 +916343 23 39841 +739080 2 3 5 2053 +975089 +82667 13 6359 +670049 +640632 2 3 26693 +950453 7 17 163 diff --git a/Final /utils.c b/Final /utils.c index ed026cb..d4cbc00 100644 --- a/Final /utils.c +++ b/Final /utils.c @@ -3,7 +3,8 @@ #include <stdio.h> #include <pthread.h> #include "utils.h" - +#include <stdint.h> +#include <inttypes.h> /* Pré : Prend la référence FILE* du fichier input * Post : / * Fonction appellée par le thread de lecture du fichier input @@ -12,8 +13,8 @@ void* ftobuf(FILE* input, buffer_t* firstBuffer, int capacity) { - unsigned long long tmp = 0; - while (fscanf(input,"%llu", &tmp) == 1){ + uint64_t tmp = 0; + while (fscanf(input,"%"PRIu64, &tmp) == 1){ Producer(firstBuffer, (void*) tmp); } for(int i = 0; i < capacity; i++) { @@ -41,7 +42,9 @@ void *prime(buffer_t *in, buffer_t *out, int size) { if(value == 0) break; sprintf(str, "%"PRIu64, value); uint64_t oldVal = value; - + if (value < 2){ + strcat(str, " la valeur doit etre plus grande ou egale a 2"); + } if (value % 2 == 0) { strcat(str, " "); sprintf(tmp, "%d", 2); -- GitLab