From 8836358b0665334a9501ee735970e377b8e2e0ce Mon Sep 17 00:00:00 2001 From: fauvet Date: Tue, 3 Dec 2024 12:30:00 +0100 Subject: [PATCH] Ajout du controle trop pas EZ --- ...-4f68-96e0-39d096f89c52_Contrle_DV5.1_.pdf | Bin 0 -> 61311 bytes ex1/main.c | 122 +++++++++++++++++ ex1/main_opti.c | 125 ++++++++++++++++++ 3 files changed, 247 insertions(+) create mode 100644 4f347fe7-cb7b-4f68-96e0-39d096f89c52_Contrle_DV5.1_.pdf create mode 100644 ex1/main.c create mode 100644 ex1/main_opti.c diff --git a/4f347fe7-cb7b-4f68-96e0-39d096f89c52_Contrle_DV5.1_.pdf b/4f347fe7-cb7b-4f68-96e0-39d096f89c52_Contrle_DV5.1_.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c19dcf449e915faff772c92e73c1b1e7b985854 GIT binary patch literal 61311 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 z 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 +#include +#include + +int racineCarree(int n){ + for(int i = 0; i < n; i++) { + if (i*i == n) { + return i; + } + } + return -1; +} + +int* RacineCarreeTab(int base_tab[], int tab_length) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + computedTab[i] = racineCarree(base_tab[i]); + } + + return computedTab; +} + +int* firstSort(int square_root_tab[], int tab_length, int tab_value) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + if(i%2 == 0) { + computedTab[i] = square_root_tab[i]; + } else { + computedTab[i] = square_root_tab[i] * tab_value; + } + } + + return computedTab; +} + +int* secondSort(int square_root_tab[], int tab_length) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + if(i%2 == 0) { + computedTab[i] = racineCarree(square_root_tab[i]); + } else { + int summ = 0; + int* result = RacineCarreeTab(square_root_tab, tab_length); + for(int j = 0; j= 0 ) { + printf("la racine carré de %d est = %d\n", base_number, foundSquareRoot); + } else { + printf("Aucune racine carrée trouvé pour : %d\n", base_number); + }*/ + + + + /* Exo 1 B*/ + + //int base_tab[5] = {1, 4, 9, 16, 25}; // VALEURS DU TABLEAU SI NON ALEATOIRE + //int tab_length = 5; + + int tab_length = atoi(argv[1]); //TAILLE DU TABLEAU + int base_tab[tab_length]; //VALEURS DU TABLEAU + srand(time(NULL)); + for(int j = 0; j < tab_length; j++) { + //MODIFIER ICI POUR DES PLUS PETITES VALEURS SI ALEATOIRE + base_tab[j] = rand(); + } + + int* result = RacineCarreeTab(base_tab, tab_length); + for (int i = 0; i < tab_length; i++) { + printf("%d\t", result[i]); + } + printf("\n"); + free(result); + + + /*Exo 3 + //int base_tab[5] = {1, 5, 9, 16, 25}; // VALEURS DU TABLEAU SI NON ALEATOIRE + //int tab_length = 5; + + int tab_length = atoi(argv[1]); //TAILLE DU TABLEAU + int base_tab[tab_length]; //VALEURS DU TABLEAU + srand(time(NULL)); + for(int j = 0; j < tab_length; j++) { + //MODIFIER ICI POUR DES PLUS PETITES VALEURS SI ALEATOIRE + base_tab[j] = rand(); + } + + int* sorted_tab = TriSpecial(RacineCarreeTab(base_tab, tab_length), tab_length); + printf("\n"); +*/ +} diff --git a/ex1/main_opti.c b/ex1/main_opti.c new file mode 100644 index 0000000..b8c6e09 --- /dev/null +++ b/ex1/main_opti.c @@ -0,0 +1,125 @@ +#include +#include +#include + +int racineCarree(int n){ + for(int i = 0; i < n; i++) { + if (i * i > n) { + break; + } + if (i*i == n) { + return i; + } + } + return -1; +} + +int* RacineCarreeTab(int base_tab[], int tab_length) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + computedTab[i] = racineCarree(base_tab[i]); + } + + return computedTab; +} + +int* firstSort(int square_root_tab[], int tab_length, int tab_value) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + if(i%2 == 0) { + computedTab[i] = square_root_tab[i]; + } else { + computedTab[i] = square_root_tab[i] * tab_value; + } + } + + return computedTab; +} + +int* secondSort(int square_root_tab[], int tab_length) { + int* computedTab = (int*)malloc(tab_length * sizeof(int)); + + for (int i = 0; i < tab_length; i++) { + if(i%2 == 0) { + computedTab[i] = racineCarree(square_root_tab[i]); + } else { + int summ = 0; + int* result = RacineCarreeTab(square_root_tab, tab_length); + for(int j = 0; j= 0 ) { + printf("la racine carré de %d est = %d\n", base_number, foundSquareRoot); + } else { + printf("Aucune racine carrée trouvé pour : %d\n", base_number); + }*/ + + + + /* Exo 1 B*/ + + //int base_tab[5] = {1, 4, 9, 16, 25}; // VALEURS DU TABLEAU SI NON ALEATOIRE + //int tab_length = 5; + + int tab_length = atoi(argv[1]); //TAILLE DU TABLEAU + int base_tab[tab_length]; //VALEURS DU TABLEAU + srand(time(NULL)); + for(int j = 0; j < tab_length; j++) { + //MODIFIER ICI POUR DES PLUS PETITES VALEURS SI ALEATOIRE + base_tab[j] = rand(); + } + + int* result = RacineCarreeTab(base_tab, tab_length); + for (int i = 0; i < tab_length; i++) { + printf("%d\t", result[i]); + } + printf("\n"); + free(result); + + + /*Exo 3 + //int base_tab[5] = {1, 5, 9, 16, 25}; // VALEURS DU TABLEAU SI NON ALEATOIRE + //int tab_length = 5; + + int tab_length = atoi(argv[1]); //TAILLE DU TABLEAU + int base_tab[tab_length]; //VALEURS DU TABLEAU + srand(time(NULL)); + for(int j = 0; j < tab_length; j++) { + //MODIFIER ICI POUR DES PLUS PETITES VALEURS SI ALEATOIRE + base_tab[j] = rand(); + } + + int* sorted_tab = TriSpecial(RacineCarreeTab(base_tab, tab_length), tab_length); + printf("\n"); +*/ +}