1 pièce(s) jointe(s)
fonction qui renvoit la val max et min d'un tableau
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 .Pièce jointe 583007
Code:
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]);
} |