From d930f17365742e56aa9a7992fb79934251e96bcb Mon Sep 17 00:00:00 2001 From: Alexandre Agostinho Date: Wed, 22 Mar 2023 19:14:26 +0100 Subject: [PATCH] import & tests of algos --- code/p2e1.c | 154 +++++++++++++++++++++++++++++++++++++++++++ code/p2tests | Bin 0 -> 25456 bytes main.pdf | Bin 199579 -> 199651 bytes sections/partie2.tex | 7 ++ 4 files changed, 161 insertions(+) create mode 100644 code/p2e1.c create mode 100755 code/p2tests diff --git a/code/p2e1.c b/code/p2e1.c new file mode 100644 index 0000000..34fff33 --- /dev/null +++ b/code/p2e1.c @@ -0,0 +1,154 @@ +/** + * SAE 2.02 - Exploration algorithmique d’un problème + * Prtie 2 / Exercice 1 + * Extrait code C + */ + +#include +#include +#include + +/// - ALGO 1 ----------------------------------------------- + +void echanger(int tab[], int i, int j) { + int tmp; + tmp = tab[i]; + tab[i] = tab[j]; + tab[j] = tmp; +} + +void algo1(int tab [], int nb) { + int echange = 1; + int i; + int deb = 0, fin = nb-1; + while (echange > 0) { + echange = 0; + for(i = deb; i < fin; i++) { + if(tab[i] > tab[i+1]) { + echanger(tab, i, i+1); + echange++; + } + } + fin--; + for(i = fin; i > deb; i--) { + if(tab[i] < tab[i-1]) { + echanger(tab, i, i-1); + echange++; + } + } + deb++; + } +} + + +/// - ALGO 2 ----------------------------------------------- + +void algo2(int tab[], int nb) { + int* cpt; + int min = tab[0], max = tab[0]; + int i, j; + for(i = 1; i < nb; i++) { + if(min > tab[i]) min = tab[i]; + if(max < tab[i]) max = tab[i]; + } + cpt = (int *) calloc((max-min+1), sizeof(int)); + if(cpt == NULL) { + printf("pb aloc mémoire \n"); + exit(1); + } + for(i = 0; i < nb; i++) { + cpt[tab[i]-min]++; + } + j = 0; + for(i = 0; i < max-min+1; i++) { + while (cpt[i] != 0) { + tab[j] = i + min; + j++; + cpt[i]--; + } + } + free(cpt); +} + + +/// - ALGO 3 ----------------------------------------------- + +int recherchePos(int tab[], int n, int val) { + int i; + for(i = 0; i < n; i++) { + if(val < tab[i]) { + return i; + } + } + return i; +} + +void algo3(int tab[], int n) { + int i, pos, j, tmp; + for(i = 1; i < n; i++) { + pos = recherchePos(tab, i, tab[i]); + if(pos != i){ + tmp = tab[i]; + for(j = i; j > pos; j--) { + tab[j] = tab[j-1]; + } + tab[pos] = tmp; + } + } +} + + +/// - MAIN -------------------------------------------------- + +void prtab(int tab[], int n) { + for (int i = 0; i < n; i++) + printf("%d ", tab[i]); +} + +void tstalgo(char *title, void (*algo)(int[], int), int tab[], int n) { + + double time_spent = 0.0; + clock_t begin = clock(); + + (*algo)(tab, n); + + clock_t end = clock(); + time_spent += (double)(end - begin) / CLOCKS_PER_SEC; + + printf("(%f) ", time_spent); + printf("%s: ", title); + prtab(tab, n); + printf("\n"); +} + +int main(void) { + +#define TABLEN 6 + int tab1[] = {13, 22, 1, 4, 9, 10}; + int tab2[] = {1, 2, 4, 6, 9, 10}; + int tab3[] = {111, 24, 4, 4, 2, 1}; + + printf("\n[ TEST ALGO 1 ]:\n"); + { // test algo 1 + int *t1 = tab1, *t2 = tab2, *t3 = tab3; + tstalgo("al1t1", algo1, t1, TABLEN); + tstalgo("al1t2", algo1, t2, TABLEN); + tstalgo("al1t3", algo1, t3, TABLEN); + } + + printf("\n\n[ TEST ALGO 2 ]:\n"); + { // test algo 2 + int *t1 = tab1, *t2 = tab2, *t3 = tab3; + tstalgo("al2t1", algo2, t1, TABLEN); + tstalgo("al2t2", algo2, t2, TABLEN); + tstalgo("al2t3", algo2, t3, TABLEN); + } + + printf("\n\n[ TEST ALGO 3 ]:\n"); + { // test algo 3 + int *t1 = tab1, *t2 = tab2, *t3 = tab3; + tstalgo("al3t1", algo3, t1, TABLEN); + tstalgo("al3t2", algo3, t2, TABLEN); + tstalgo("al3t3", algo3, t3, TABLEN); + } +} \ No newline at end of file diff --git a/code/p2tests b/code/p2tests new file mode 100755 index 0000000000000000000000000000000000000000..787f66f178d239d51514b529e8d0931b003711e0 GIT binary patch literal 25456 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 literal 0 HcmV?d00001 diff --git a/main.pdf b/main.pdf index b5dde0d89f7094cb117e0b79a51192b6cecc8d7b..e487de6dd6622e4dfdb453d73a9cdea1910cba13 100644 GIT binary patch delta 10112 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 qTfeh%_i(c|cm6y3+qLHIVeaPPg#C$ delta 9958 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 b(!XKkb?Q6J?8Zd{J_8Hmu(2s>LUH~Jfsm40 diff --git a/sections/partie2.tex b/sections/partie2.tex index be5b14a..99f09fc 100644 --- a/sections/partie2.tex +++ b/sections/partie2.tex @@ -10,6 +10,13 @@ \subsection{Question 1} \par\quad + \subsection{Question 2} + \par\quad + + \subsection{Question 3} + \par\quad + \subsection{Question 4} + \par\quad \end{document} \ No newline at end of file