From 642ec13350783c5479a73780a0ee585086b503b1 Mon Sep 17 00:00:00 2001 From: "mathias.catala" <catalamathias@gmail.com> Date: Tue, 21 Nov 2023 01:50:41 +0100 Subject: [PATCH] "yes" --- myTP/exos/dilatation.c | 83 +++++++++++++++++++++++++++++++++++++++++ myTP/exos/exo1 | Bin 15856 -> 15856 bytes myTP/exos/exo1.c | 19 +++------- myTP/test.c | 10 ----- 4 files changed, 89 insertions(+), 23 deletions(-) create mode 100644 myTP/exos/dilatation.c diff --git a/myTP/exos/dilatation.c b/myTP/exos/dilatation.c new file mode 100644 index 0000000..69a127f --- /dev/null +++ b/myTP/exos/dilatation.c @@ -0,0 +1,83 @@ +#include <stdio.h> +#include <stdlib.h> + +int get_max(int n, const int* tab) { + int max = tab[0]; + for (int i = 1; i < n; i++) { + if (tab[i] > max) { + max = tab[i]; + } + } + return max; +} + +int **dilatation(int m, int n, const int** tab) { + int **res = (int**) malloc(m * sizeof(int*)); + for (int i = 0; i < m; i++) { + res[i] = (int*) malloc(n * sizeof(int)); + for (int j = 0; j < n; j++) { + int max[5]; + int k = 0; + + max[k] = tab[i][j]; + k += 1; + + if (i > 0) { + max[k++] = tab[i-1][j]; + } + + if (i < m-1) { + max[k++] = tab[i+1][j]; + } + + if (j > 0) { + max[k++] = tab[i][j-1]; + } + + if (j < n-1) { + max[k++] = tab[i][j+1]; + } + + res[i][j] = get_max(k, max); + } + } + return res; +} + +void print_tab(int m, int n, const int** tab) { + for (int i = 0; i < m; i++) { + for (int j = 0; j < n; j++) + { + int debug = tab[i][j]; + printf("%d ", tab[i][j]); + } + printf("\n"); + } + printf("\n"); +} + +int **init_array(int m, int n) { + int **res = (int**) malloc(m * sizeof(int*)); + int k = 1; + for (int i = 0; i < m; i++) + { + res[i] = (int*) malloc(n * sizeof(int)); + for (int j = 0; j < n; j++) + { + res[i][j] = k++; + } + } + return res; + +} + +int main() { + int m = 5, n = 5; + int **tab = init_array(m, n); + + print_tab(m, n, (const int**)tab); + + int** res = dilatation(m, n, (const int **)tab); + + print_tab(m, n, (const int**) res); +} \ No newline at end of file diff --git a/myTP/exos/exo1 b/myTP/exos/exo1 index 4830ca799654e3d0f8a0a5a01f89e063612725c9..6125d65986a2d944cc6a0868d30c3889337a0b9f 100755 GIT binary patch delta 47 zcmexR{h@k82eXK(#t#4Ko@tghmNy49o{*HN`*6>G^BiVHK1RmL`vkq2I+-?e3q92a E0QZ>^?EnA( delta 47 zcmexR{h@k82eU{({_=CC7A3mUV)E)o_rzbF>*G?ic@DE8A7j+yeS+Rh!OWYvg`R2y E0N$z*^Z)<= diff --git a/myTP/exos/exo1.c b/myTP/exos/exo1.c index 34afff7..7d1f706 100644 --- a/myTP/exos/exo1.c +++ b/myTP/exos/exo1.c @@ -15,14 +15,14 @@ void insertionSort(int n, int tab[]); int main(){ int i; - int arr[] = { 64, 34, 25, 12, 22, 11, 90 }; + int arr[] = { 64, 34, 25, 12, 22, 11, 1 }; int n = sizeof(arr)/ sizeof(arr[0]); for (i = 0; i < n; i++) printf("%d ", arr[i]); - //bubbleSort(n,arr); - insertionSort(n,arr); + bubbleSort(n,arr); + //insertionSort(n,arr); printf("\nSorted array: \n"); for (i = 0; i < n; i++) @@ -147,8 +147,7 @@ void bubbleSort(int n, int tab[]){ void insertionSort(int n, int tab[]){ int i; - bool swapped; - + for (i=0;i<n-1;i++){ int tmp = tab[i]; @@ -158,14 +157,8 @@ void insertionSort(int n, int tab[]){ tab[pos] = tab[pos-1]; pos-=1; - } - tab[pos]= tmp; - + tab[pos]= tmp; } +} - - - - -} \ No newline at end of file diff --git a/myTP/test.c b/myTP/test.c index 4b3cc8b..680e479 100644 --- a/myTP/test.c +++ b/myTP/test.c @@ -2,12 +2,8 @@ #include <stdio.h> - - - void recurse(int n){ - printf("%d", n%2); if(n/2!=0){ @@ -21,17 +17,11 @@ void recurse(int n){ int fibonacci( int i){ - - if(i>1){ return printf("fibo: %u \n",fibonacci(i-1)+fibonacci(i-2)); } return i; - - - - } -- GitLab