Probleme avec les variables locales
Bonjour, j'essaie de faire une fonction pour creer un tableau et de le remplir et puis une fonction qui calcule le min et son indice, apres je veux les appeler a partie du main et afficher le resultat, mais ca ne marche pas voici mon code :
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 500
int tab[MAX];
int i = 0;
int x;
//Écrire ici la fonction "remplir" de remplissage (par saisies au clavier)
// d'un tableau t de taille nb
void remplir(float *tab, int nb){
float val;
int i;
for(i=0; i<nb; i++){
printf("tab[%d]=",i);
scanf("%f", &val);
tab[i]=val;
}
}
//Écrire ici la fonction "calcule_min" qui calcule et renvoie en
// résultat le minimum des éléments d'un tableau t de taille size. Un
// paramètre supplémentaire permettra de ramener également l'indice
// dans le tableau de ce minimum
// ...
void calcule_min(float *tab, int size, float *min, int *indicemin){
*min = tab[0];
*indicemin = 0 ;
int i=1;
while(i<size)
{
if(tab[i]<*min)
{
*min=tab[i];
*indicemin = i;
}
i++;
}
}
// Compléter la fonction main :
int main(int nbArgs, char* arg[])
{
float *tab;
int n, indicemin;
float min;
printf("Donner la taille du tableau : \n");
scanf("%d", &n);
// Remplissage du tableau :
tab = (float*)malloc(n*sizeof(float));
remplir(tab, n);
// calcule de min
calcule_min(tab,nbArgs,&min,&indicemin);
printf("minimum : %f | son indice : %d \n",min,indicemin);
return EXIT_SUCCESS;
} |