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 .Nom : info 3.jpg
Affichages : 751
Taille : 35,5 Ko

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]);
}