bonjour je dois écrire une fonction qui me renvoit la valeur max et min d'un tableau et j'ai fait ceci , je sais pas ce qui est faux car ça ne marche pas .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 #include <stdio.h> #include <time.h> #include <stdlib.h> #include <assert.h> #include "main.h" #define ARRAY_SIZE (10) #define ARRAY_MIN (0) #define ARRAY_MAX (9) int main() { int array[ARRAY_SIZE]; ///< Array all the functions will work with unsigned int rand_seed; ///< seed to generate random values from rand_seed = time(0); // current timE printf("random seed = %u", rand_seed); srand(rand_seed); andom_array(array ,ARRAY_SIZE, ARRAY_MIN, ARRAY_MAX); return 0; } void random_array(int array[], int array_size, int min, int max) { int i; // limits are included in the range unsigned int rand_range = max + 1 - min; // assert() exits the program if the condition is not verified assert(rand_range > 0); for (i = 0; i < array_size; i++) { array[i] = (rand() % rand_range) + min; } } void valmaxmin (int array[], int array_size) { int min; int max; int Imin = 0; int Imax = 0; max = array[0]; min = array[0]; int i; for (i = 0; i < array_size; i++) { if (array[i] >= max) { Imax = i; max = array[i]; } else { if (array[i] <= min) { Imin = i; min = array[i]; } } } for (i = 0; i < array_size;i++){ assert (array[i]<=array[Imax]); assert (array[i]>=array[Imin]); } printf("position du min : %d\n",Imin); printf("position du max : %d\n",Imax); printf("valeur du min : %d\n",array[Imin]); printf("valeur du max :%d\n",array[Imax]); }
Partager