Bonjour,
voici un petit programme tout simple qui cherche juste à calculer la somme et la moyenne d'un nombre d'éléments donné :
Le problème se situe dans le calcul de la moyenne :
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 /* Bibliotheque des entrees/sorties standard */ #include<iostream> using namespace std; /* Fonction principale */ int main() { /* Declaration des variables */ int N, nombre, i; float somme = 0, moyenne = 0; /* Initialisation des variables */ do { cout<<"Donner le nombre de valeurs : "; cin>>N; } while ((N < 1)||(N > 10)); /* on demande de saisir N tant que N n'est pas compris entre 1 et 10 */ /* Traitement */ for (i=1; i<=N ; i=i+1) { cout<<"Entrer une valeur : "; cin>>nombre; somme = somme + nombre; /* on calcule la somme au fur et a mesure de la saisie des valeurs pour eviter de le stocker dans N variables */ } cout<<somme<<" "<<moyenne<<" " <<nombre<<endl; moyenne = (float) moyenne / (float) nombre; //calcul de la moyenne /* Affichage des resultats */ cout<<"somme = "<<somme<<endl<<"moyenne = "<< moyenne <<"\n"; system ("pause"); return 0; }
Bien que moyenne soit un float, lorsque par exemple je calcule la moyenne de 2 et 3 j'obtiens 0.... alors j'ai ajouté les (float) pour caster, mais toujours le même résultat...moyenne = (float) moyenne / (float) nombre;
Une idée ?
Merci,
GDM.
Partager