Si je comprend ton problème,
le code
1 2 3 4
| double moyenneTableau(int tableau[], int TailleTableau)
{
return (5 + 5 + 5 + 5 + 5 + 5) / 6;
} |
est correct (en tant que code d'essai, bien sûr). Ecrire :
1 2 3 4 5
| double moyenneTableau(int tableau[], int TailleTableau)
{
double variable = (5 + 5 + 5 + 5 + 5 + 5) / 6 ;
return variable;
} |
ne change rien : c'est la valeur de variable (5) qui est retournée.
Les deux codes fonctionneront de façon identique et il n'y a rien à changer dans le main() :
Moyenne = moyenneTableau(tableau, 4);
Dans les deux cas, Moyenne recevra la valeur retournée par la fonction.
Remarque : dans ton exemple, (5 + 5 + 5 + 5 + 5 + 5) / 6 est une opération entre entiers (et la division sera la division entière) , le résultat sera un entier (donc sans partie décimale) qui sera converti automatiquement en double avant d'être retouné par la fonction. Par exemple (5+4)/2 donnera 4 et non pas 4.5.
Il faut forcer le calcul de la division en flottant. Dans cet exemple on peut faire (5+4)/2.0
Dans la version définitive, tu auras ..../(double)TailleTableau; où .... représente la somme des éléments du tableau que la fonction aura préalablement calculé.
Partager