diff --git a/bancomat.scala b/GSEM/bancomat.scala similarity index 100% rename from bancomat.scala rename to GSEM/bancomat.scala diff --git a/bancomat2.scala b/GSEM/bancomat2.scala similarity index 99% rename from bancomat2.scala rename to GSEM/bancomat2.scala index 562a1c5815806177e9e82c808951291dc3ec6d64..5c30ac8e55d61999aa084830c697255d94d8069a 100644 --- a/bancomat2.scala +++ b/GSEM/bancomat2.scala @@ -2,7 +2,7 @@ import scala.io.StdIn._ object Main{ def main(args: Array[String]): Unit = { var pincorrect = Array("a","b","c","d","e") - var pin="" + var pin= "" var continuer = true var montantinitial = 1200.0 diff --git a/examen_1_dec_2022.pdf b/examen_1_dec_2022.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5cfcbf47c83bb209ec1e5c72bd24b948983a2478 Binary files /dev/null and b/examen_1_dec_2022.pdf differ diff --git a/myTP/TP1/exercice4.c b/myTP/TP1/exercice4.c index feb491ec7dc039dbfcd228367693fdc678e95de3..9edb097d9f70ce8405941836801244360b96dbed 100644 --- a/myTP/TP1/exercice4.c +++ b/myTP/TP1/exercice4.c @@ -17,5 +17,4 @@ int main(){ printf("\nvaleurs apres a :%d",a); printf("\nvaleurs apres b :%d",b); - } \ No newline at end of file diff --git a/myTP/exos/dilatation b/myTP/exos/dilatation new file mode 100755 index 0000000000000000000000000000000000000000..530ca58961a87551ba485d2a87f37631e43bdae1 Binary files /dev/null and b/myTP/exos/dilatation differ diff --git a/myTP/exos/dilatation.c b/myTP/exos/dilatation.c index aadf6f6957c52d06a5a1415c8e08c9a6c900a287..98ddd150a883253469299d99bac1360dc3c072ea 100644 --- a/myTP/exos/dilatation.c +++ b/myTP/exos/dilatation.c @@ -12,43 +12,41 @@ int get_max(int n, const int* tab) { } int **dilatation(int m, int n, const int** tab) { - int **res = (int**) malloc(m * sizeof(int*)); + int **res = malloc(m * sizeof(int*)); for (int i = 0; i < m; i++) { - res[i] = (int*) malloc(n * sizeof(int)); + res[i] = malloc(n * sizeof(int)); for (int j = 0; j < n; j++) { int max[5]; - int k = 0; + int k = 0; // Start k from 1 max[k] = tab[i][j]; k += 1; if (i > 0) { - max[k++] = tab[i-1][j]; + max[k++] = tab[i - 1][j]; // Use tab[i-1][j] for the top element } - if (i < m-1) { - max[k++] = tab[i+1][j]; + if (i < m - 1) { + max[k++] = tab[i + 1][j]; // Use tab[i+1][j] for the bottom element } if (j > 0) { - max[k++] = tab[i][j-1]; + max[k++] = tab[i][j - 1]; // Use tab[i][j-1] for the left element } - if (j < n-1) { - max[k++] = tab[i][j+1]; + if (j < n - 1) { + max[k++] = tab[i][j + 1]; // Use tab[i][j+1] for the right element } - + res[i][j] = get_max(k, max); } } - return res; + return res; // Do not free(res) here } 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]; + for (int j = 0; j < n; j++) { printf("%d ", tab[i][j]); } printf("\n"); @@ -57,22 +55,18 @@ void print_tab(int m, int n, const int** tab) { } int **init_array(int m, int n) { - int **res = (int**) malloc(m * sizeof(int*)); + int **res = 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++) - { + for (int i = 0; i < m; i++) { + res[i] = malloc(n * sizeof(int)); + for (int j = 0; j < n; j++) { res[i][j] = k++; } } - return res; - + return res; // Do not free(res) here } int main() { - int m = 5, n = 5; int **tab = init_array(m, n); @@ -80,5 +74,15 @@ int main() { int** res = dilatation(m, n, (const int **)tab); - print_tab(m, n, (const int**) res); + print_tab(m, n, (const int**)res); + + // Free memory + for (int i = 0; i < m; i++) { + free(tab[i]); + free(res[i]); + } + free(tab); + free(res); + + return 0; }