From 1eab17d713ffb1136b86655189c8832d0ae77437 Mon Sep 17 00:00:00 2001 From: Aissi Jude Christ Date: Wed, 15 Oct 2025 16:49:17 +0200 Subject: [PATCH] Rendu --- Exercice1/a.out | Bin 0 -> 18008 bytes Exercice1/gmon.out | Bin 0 -> 2737 bytes Exercice1/racinecarree.c | 116 ++++++++++++++++++++++++++++++ Exercice3/a.out | Bin 0 -> 15816 bytes Exercice3/trispecial.c | 151 +++++++++++++++++++++++++++++++++++++++ README.md | 15 ++++ reponses.txt | 58 +++++++++++++++ 7 files changed, 340 insertions(+) create mode 100755 Exercice1/a.out create mode 100644 Exercice1/gmon.out create mode 100644 Exercice1/racinecarree.c create mode 100755 Exercice3/a.out create mode 100644 Exercice3/trispecial.c create mode 100644 reponses.txt diff --git a/Exercice1/a.out b/Exercice1/a.out new file mode 100755 index 0000000000000000000000000000000000000000..1b2a6ddc3361fda2cd86711e96d4cb5c3952a65c GIT binary patch literal 18008 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 cDHt0>gT`#J>0eyIFiMYxz-S1JhQMeDjE2By z2#kin$O-{iGm2?sc^i*!85@KkveyJ5w17GT1LFi?2xlc!5)^KX8=!*r$bt``g2*ZX Dy($Z^ literal 0 HcmV?d00001 diff --git a/Exercice1/racinecarree.c b/Exercice1/racinecarree.c new file mode 100644 index 0000000..819d4d5 --- /dev/null +++ b/Exercice1/racinecarree.c @@ -0,0 +1,116 @@ +#include +#include + + +int racineCarree(int nombre){ + + if (nombre < 0) { + return -1; + } + + if ( nombre == 0) { + return 0; + } + + int i; + + for (i = 0; i <= nombre; i++) { + if( i * i == nombre){ + return i; + } + if ( i * i > nombre ) { + return -1; + } + } + return -1; + +} + +void racineCarreeTab(int *tab, int *resultat, int taille) { + + int i; + + for (i = 0; i < taille; i++){ + resultat[i] = racineCarree(tab[i]); + } +} + + + +void afficherTableau(int *tab, int taille) { + printf("["); + int i; + + for (i = 0; i < taille; i++) { + printf("%d", tab[i]); + + if (i < taille - 1) { + printf(", "); + } + } + printf("]\n"); +} + + +int main() { + + /* Pour la racine carrée pour un nombre*/ + + /* + printf("racineCarree(9) = %d\n", racineCarree(9)); + printf("racineCarree(10) = %d\n", racineCarree(10)); + + */ + + /* Pour la racine carrée d'un ensemble de nombres positifs*/ + + /* + int tab1[] = {9, 25, 4}; + int taille1 = 3; + int resultat1[3]; + + + /* Racine carrée d’un ensemble de nombre entier positif + printf("Entrée: "); + afficherTableau(tab1, taille1); + racineCarreeTab(tab1, resultat1, taille1); + + printf("Résultat : "); + afficherTableau(resultat1, taille1); + */ + + /* + + int tab2[] = {10,36,2}; + int taille2 = 3; + int resultat2[3]; + + printf("Entrée: "); + afficherTableau(tab2, taille2); + racineCarreeTab(tab2, resultat2, taille2); + + printf("Résultat : "); + afficherTableau(resultat2, taille2); + + return 0; + */ + + int tab2[] = {10000000000000000000000000000000000000000000,360000000000000000000000000000000000000,200000000000000000000000000000000,82370386, 29610, -1069985664, 32767, 785898610, 29610, 1818272, 0, 1818272, 0, 782370386, 29610, 0, 0, -1069985584, 32767, 785901680, 29610, 1685382484, 4, 0, 0, 1979960, 0, -1069984976, 32767, 784369984, 29610, 785645568, 29610, 0, 0, 0, 0, -1069985552, 32767, 785872957, 29610, 0, 0, 782370386, 29610, -1069985248, 32767, 785867862, 29610, 0, 0, -1069984976, 32767, 785872896, 29610, -1069985008, 32767, 0, 0, -1069984976, 32767, -1069985280, 32767, 785935300, 29610, 786105072, 29610, 785645568, 29610, 786103712, 29610, 785645568, 29610, 0, 0, 0, 0, -1577058304, -32654, -931921920, -413901394, 0, 0, 0, 0, -1572864000, -32654, -1069985344, 32767, -1069985440, 32767, 1, 3, 0, 0, 0, 0, -1069985472, 32767, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 785646912, 29610, -1069983840, 32767, 785875941, 29610, 1, 29610, 786103712, 29610, 0, 0, 785874083, 29610, 1, 22574, 785645568, 29610, -1069985264, 32767, 785874083, 29610, 1, 0, 786105072, 29610, -1069985232, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1069985200, 32767, -1069985232, 32767, -1069984912, 32767, -1069985232, 32767, 2, 0, 786105072, 29610, 0, 0, 3, 0, -1069985264, 32767, 0, 0, 0, 0, 0, 32767, 786105072, 29610, 0, 0, 0, 29610, 0, 0, 0, 0, 0, 0, 0, 0, 785645568, 29610, 0, 0, 782335800, 29610, 782370386, 29610, 786103712, 29610, 0, 0, -1069984912, 32767, 1024, 0, 786103712, 29610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785902445, 29610, 0, 2, 785647232, 29610, 0, 0, 1842243024, 0, 782259552, 29610, 785645568, 29610, -1069984448, 32767, 785903545, 29610, 2328, 0, 782335800, 29610, 785645568, 29610, -1069984504, 32767, -1069984508, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 785902445, 29610, 3, 2, 785647232, 29610, 782246840, 29610, 1038094022, 0, 782259552, 29610, 785645568, 29610, -1069984304, 32767, 785903545, 29610, 1615, 0, 782335800, 29610, 785645568, 29610, -1069984360, 32767, -1069984364, 32767, 785647024, 29610, -431209048, 22574, 785902343, 29610, -1069983992, 32767, 1842243024, 0, 3, 0, 1416958013, 0, 785859888, 29610, 786103712, 29610, -1069984176, 32767, 785903545, 29610, 3, 0, 785860824, 29610, 786103712, 29610, -1069984232, 32767, -1069984236, 32767, 0, 0, 786106576, 29610, -1069983920, 32767, 786045000, 29610, 786106000, 29610, 3, 0, 785646944, 29610, 785859728, 29610, -1069984236, 32767, -1069984008, 32767, -1069984000, 32767, 0, 0, 0, 0, 786041589, 29610, 785860824, 29610, 0, 0, 0, 0, 786046323, 29610, 0, 0, 786041589, 29610, 786106000, 29610, -1069983848, 32767, 1416958012, 0, -1069983888, 32767, 785905858, 29610, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786105072, 29610, -1069983984, 32767, 785924214, 29610, 0, 29610, 0, 0, -1069983952, 32767, -1069983968, 32767, 0, 0, 786106000, 29610, 0, 0, -74416640, 85883941, 786105072, 29610, 1, 0, 786105072, 29610, 0, 0, -1069983904, 32767, 782508275, 29610, 144, 3, 40, 0, 0, 0, 0, 0, 0, 0, 782841048, 29610, 0, 3, -74416640, 85883941, 786105072, 29610, 1, 0, -1069983840, 32767, 782924028, 29610, 0, 0, -1, -1, 0, 0, -74416640, 85883941, 1437325202, 18317, 785949280, 29610, -1069983152, 32767, 785997433, 29610, 0, 0, 0, 0, 0, 0, 0, 0, 785635136, 29610, 786103128, 29610, 786103712, 29610, 1437311183, 18317, 786105072, 29610, 786046464, 29610, 0, 0, 0, 0, 0, 0, 0, 0, 785851032, 29610, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 783406880, 29610, 335544324, 0, 782492992, 29610, -1, -1, 0, 0, 784374464, 29610, 8904, 0, 784374560, 29610, 0, 0, -431205327, 22574, -1069983136, 32767, 782921024, 29610, -1069982960, 32767, 0, 0, 3720, 0, 2592, 0, 1, 0, -431210496, 22574, -1069983056, 32767, 0, 12779520, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 486449152, 22575, -1069983424, 32767, 782911174, 29610, -1069983296, 32767, 782914766, 29610, 2, 9175849, 4, 0, 143360, 0, 486449152, 22575, 8944, 0, 0, 0, 143360, 0, -74416640, 85883941, 8, 0, -74416640, 85883941, -1069983072, 32767, 783407269, 29610, 0, 0, 555, 0, 0, 0, 10000, 0, 0, 0, 10000, 0, 783406880, 29610, -1, -1, 0, 0, 784374464, 29610, 8904, 0, 784374560, 29610, 0}; + int taille2 = 10000; + int resultat2[10000]; + + printf("Entrée: "); + afficherTableau(tab2, taille2); + racineCarreeTab(tab2, resultat2, taille2); + + printf("Résultat : "); + afficherTableau(resultat2, taille2); + + return 0; + + +} + + + + diff --git a/Exercice3/a.out b/Exercice3/a.out new file mode 100755 index 0000000000000000000000000000000000000000..a565c26f1b779c80ed56c98c0dbf7d6b62710bda GIT binary patch literal 15816 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 +#include + + +int racineCarree(int nombre){ + + if (nombre < 0) { + return -1; + } + + if ( nombre == 0) { + return 0; + } + + int i; + + for (i = 0; i <= nombre; i++) { + if( i * i == nombre){ + return i; + } + if ( i * i > nombre ) { + return -1; + } + } + return -1; + +} + +int racinenonentierre(int *tab, int taille) { + + int compte; + int i; + + for (i = 0; i < taille; i++) { + if (racineCarree(tab[i]) == -1) { + compte++; + } + } + + return compte; + +} + +int sommetableau(int *tab, int taille) { + + int somme = 0; + int i; + + for (i = 0; i < taille; i++){ + somme += tab[i]; + } + + return somme; + +} + +int sommeracinecarree( int *tab, int taille) { + + int somme = 0; + int i; + + for (i = 0; i < taille; i++){ + + int racine = racineCarree(tab[i]); + + if (racine != -1) { + somme += racine; + } + } + + return somme; +} + + +void TriSpecial(int *tab, int *resultat, int taille) { + + int nbRacinesNonEntieres = racinenonentierre(tab, taille); + + int estPair = (nbRacinesNonEntieres % 2 == 0); + + if (estPair) { + + int somme = sommetableau(tab, taille); + int i; + + for (i = 0; i < taille; i++) { + + if (i % 2 == 0) { + resultat[i] = tab[i]; + } else { + resultat[i] = somme * tab[i]; + } + } + } + + else { + + int sommeRacines = sommeracinecarree(tab, taille); + int i; + + for (i = 0; i < taille; i++) { + + if (i % 2 == 0) { + resultat[i] = racineCarree(tab[i]); + + } else { + resultat[i] = sommeRacines * tab[i]; + } + } + } +} + +void afficherTableau(int *tab, int taille) { + printf("["); + int i; + + for (i = 0; i < taille; i++) { + printf("%d", tab[i]); + + if (i < taille - 1) { + printf(", "); + } + } + printf("]\n"); +} + +int main() { + + + int tab1[] = {3, 5, 25, 16}; + int taille1 = 4; + int resultat1[4]; + + printf("Entrée : "); + afficherTableau(tab1, taille1); + printf("\n"); + + int nbNonEntieres1 = racinenonentierre(tab1, taille1); + + if (nbNonEntieres1 % 2 == 0) { + printf("Somme du tableau : %d\n", sommetableau(tab1, taille1)); + } else { + printf("Somme des racines : %d\n", sommeracinecarree(tab1, taille1)); + } + + TriSpecial(tab1, resultat1, taille1); + + printf("Résultat : "); + afficherTableau(resultat1, taille1); + printf("\n"); +} \ No newline at end of file diff --git a/README.md b/README.md index e69de29..0ba7ef9 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,15 @@ + +** Commandes pour exécuter les fichiers ** + +Exercice 1 : + - Pour cet exercice j'ai utilisé les commandes : + - gcc racinecaree.c / gcc -ansi -pedantic racinecaree.c / gcc -pg racinecaree.c + - ./a.out / gprof ./a.out + + +Exercice 3 : + - Pour cet exercice j'ai utilisé les commandes : + - gcc trispecial.c / gcc -ansi -pedantic trispecial.c / gcc -pg trispecial.c + - ./a.out + + diff --git a/reponses.txt b/reponses.txt new file mode 100644 index 0000000..9a7ad23 --- /dev/null +++ b/reponses.txt @@ -0,0 +1,58 @@ +AISSI JUDE-CHRIST BUT3 + +EXERCICE 2 + +PROFILING + +Après l'exécution des commandes : + - gcc -g -pg racinecarree.c + - gprof ./a.out + + +Nous avons comme résultat : + +Flat profile: +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 100.23 0.03 0.03 10000 0.00 0.00 racineCarree + 0.00 0.03 0.00 2 0.00 0.00 afficherTableau + 0.00 0.03 0.00 1 0.00 30.07 racineCarreeTab + + +granularity: each sample hit covers 2 byte(s) for 33.26% of 0.03 seconds + +index % time self children called name + 0.03 0.00 10000/10000 racineCarreeTab [2] +[1] 100.0 0.03 0.00 10000 racineCarree [1] +----------------------------------------------- + 0.00 0.03 1/1 main [3] +[2] 100.0 0.00 0.03 1 racineCarreeTab [2] + 0.03 0.00 10000/10000 racineCarree [1] +----------------------------------------------- + +[3] 100.0 0.00 0.03 main [3] + 0.00 0.03 1/1 racineCarreeTab [2] + 0.00 0.00 2/2 afficherTableau [4] +----------------------------------------------- + 0.00 0.00 2/2 main [3] +[4] 0.0 0.00 0.00 2 afficherTableau [4] +----------------------------------------------- + + +COMPLEXITÉS + +Complexité Cyclomatique : +racineCarree() = 6 +racineCarreeTab() = 2 + +Complexité Algorithmique: +racineCarree() = O(n) +racineCarreeTab() = O(t × m) + + +Exercice 4 + +Complexité cyclomatique : + +trispecial() = 6 \ No newline at end of file