Moyenne d'un tableau
Salem
-
kratosmindfreak Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
kratosmindfreak Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans un programme, j'ai défini ces 2 fonctions :
Pour le tableau
et l'instruction
J'obtiens bien comme résultat que la somme est bien 22, mais la moyenne devant être 2.200, j'obtiens 0.000. Où est le problème ?
Merci
Dans un programme, j'ai défini ces 2 fonctions :
int sommeTableau(int tableau[], int taille) //somme des éléments du tableau { int i,somme=0; for(i=0;i<taille;i++) somme=somme+tableau[i]; return somme; } float moyenneTableau(int tableau[], int taille)//moyenne des éléments du tableau { return((float) sommeTableau(tableau,taille)/(float) taille); }
Pour le tableau
int t[10]={5, 6, 4, 10, -2, 3, 1, 0, 0, -5};
et l'instruction
printf("\n\n\nLa somme est : %d\nLa moyenne est : %f\n\n", sommeTableau(t,10), moyenneTableau(t,10));
J'obtiens bien comme résultat que la somme est bien 22, mais la moyenne devant être 2.200, j'obtiens 0.000. Où est le problème ?
Merci
A voir également:
- Moyenne d'un tableau
- Tableau word - Guide
- Excel moyenne - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
8 réponses
ca marche il n y'a pas un probleme je pense que tu as oublier de faire %f a la place de %d dans printf
Bonjour
Ça marche très bien chez moi aussi, et aucune erreur de %f à la place de %d.
Tu n'aurais pas un peu trop simplifié le code pour nous le montrer ?
Ça marche très bien chez moi aussi, et aucune erreur de %f à la place de %d.
Tu n'aurais pas un peu trop simplifié le code pour nous le montrer ?
Bonjour
Voici le programme
Voici le fichier des fonctions
Tout est bon, sauf pour la fonction moyenne.
Voici le programme
#include <stdio.h> #include <stdlib.h> int main() { int t[10]={5, 6, 4, 10, -2, 3, 1, 0, 0, -5}; affiche(t,10); printf("\n\n\nLa somme est : %d\nLa moyenne est : %f\n\n", sommeTableau(t,10), moyenneTableau(t,10)); ordonnerTableau(t,10); affiche(t,10); maximumTableau(t,10,0); affiche(t,10); }
Voici le fichier des fonctions
#include<stdio.h> #include<stdlib.h> #include"fonctions sur tableaux.h" void affiche(int* tableau, int taille) // pour afficher un tableau { int i; for(i=0;i<taille;i++) printf("%d, ",tableau[i]); printf("\n"); } int sommeTableau(int tableau[], int taille) //somme des éléments du tableau { int i,somme=0; for(i=0;i<taille;i++) somme=somme+tableau[i]; return somme; } float moyenneTableau(int tableau[], int taille)//moyenne des éléments du tableau { return((float) sommeTableau(tableau,taille)/(float) taille); } void copie(int tableauOriginal[],int tableauCopie[], int taille) //copier un tableau dans un autre { int i; for(i=0;i<taille;i++) tableauCopie[i]=tableauOriginal[i]; } void maximumTableau(int tableau[], int taille, int valeurMax)//remettre à 0 toutes les cases du tableau ayant une valeur supérieure à un maximum { int i; for(i=0;i<taille;i++) if(tableau[i]>valeurMax) tableau[i]=0; } void ordonnerTableau(int tableau[], int taille) //ordonner un tableau dans l'ordre croissant { int i,j,x; for(i=0;i<taille-1;i++) for(j=i+1;j<taille;j++) if(tableau[j]<tableau[i]) { x=tableau[i]; tableau[i]=tableau[j]; tableau[j]=x; } }
Tout est bon, sauf pour la fonction moyenne.
Dans ton main, il n'y a pas d'autre include que stdio.h et stdlib.h ? Je me demande comment il peut trouver tes fonctions...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il faut faire #include"fonctions sur tableaux.h" dans le fichier qui contient la fonction main pas dans le header qui contient les fonctions en plus il faut ajouter les prototypes des fonction dans le fichier fonctions sur tableaux.h
Ah bah oui c'est ça, ça marche maintenant. Merci beaucoup. (j'avais déjà les prototypes dans le fichier.h)
Donc en gros, j'écris les prototypes sur le fichier header, et je l'inclus dans "main.c", sans l'inclure dans "le fichier des fonctions.c", c'est bien ça ?
J'avoue aussi que c'est bizarre que les autres fonctions aient marché avant
Donc en gros, j'écris les prototypes sur le fichier header, et je l'inclus dans "main.c", sans l'inclure dans "le fichier des fonctions.c", c'est bien ça ?
J'avoue aussi que c'est bizarre que les autres fonctions aient marché avant