From bff60c0d16c68d0dbf0ef215a4124b4439cc05ab Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Tue, 28 Sep 2021 22:47:56 +0200
Subject: [PATCH] code is correct now

---
 examples/tri_selection/tri.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/examples/tri_selection/tri.c b/examples/tri_selection/tri.c
index 5bbc7f3..e1feebb 100644
--- a/examples/tri_selection/tri.c
+++ b/examples/tri_selection/tri.c
@@ -1,26 +1,38 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <time.h>
 
 #define SIZE 10
 
-void find_min(double tab[], int i0, int *ind) {
-    double min = tab[i0];
-    *ind       = i0;
+void find_min(double tab[], int i0, int *ind, double *min) {
+    *min = tab[i0];
+    *ind = i0;
     for (int i = i0 + 1; i < SIZE; ++i) {
-        if (min > tab[i]) {
+        if (*min > tab[i]) {
             *ind = i;
-            min  = tab[i];
+            *min = tab[i];
         }
     }
 }
 
 int main() {
+    srand(time(NULL));
     double tab[SIZE];
     for (int i = 0; i < SIZE; ++i) {
         tab[i] = rand() / (double)RAND_MAX;
     }
 
     for (int i = 0; i < SIZE - 1; ++i) {
-        double
+        double min  = tab[i];
+        int ind_min = i;
+        find_min(tab, i, &ind_min, &min);
+        double tmp   = tab[i];
+        tab[i]       = min;
+        tab[ind_min] = tmp;
     }
+
+    for (int i = 0; i < SIZE; ++i) {
+        printf("%f ", tab[i]);
+    }
+    printf("\n");
 }
-- 
GitLab