Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lit au clavier des entiers positifs et calcul leur moyenne [ Algorithme / Maths ] (themessenger)

vendredi 8 février 2008 à 17:34:14 | lit au clavier des entiers positifs et calcul leur moyenne

themessenger

bonjour on vient de commencer la programmation c ...et j'ai petit souci avec mon code .J'arrive pas à calculer la moyenne !!! quand j'execute il m'affiche la moyenne est égal a zero ....
 
merci de m'aider
cordialement..........
voici mon code:

#include <stdio.h>
main()
{
//l'entier à saisir
int n;
//nombre d'ebtiers saisit
int nb_Entier = 0;
//la somme des entiers saisit
int somme = 0;
//la moyenne des entiers saisit
float moyenne ;
printf("Saisir un entier positif,negatif pour arreter :\n");
//Saisi de l'entier au clavier
scanf("%d",&n);
// tant que l'entier saisi est positif on rentre dans la boucle
while (n>0){
moyenne = 0;
somme = somme + n ;
nb_Entier ++;
scanf("%d",&n);//Saisi de l'entier au clavier
}
//nb_Entier--;
//affichage du nombre d'entiers saisi
printf("Le nombre d'entiers que vous avez saisi %d \n",nb_Entier);
//affichage de la somme des entiers saisi
printf("La somme des entiers saisi est de %d :\n",somme);
//calcul de la moyenne
moyenne = somme%nb_Entier;
//affichage de la moyenne
printf("La moyenne est %d \n!!!",moyenne);
}

the messenger

vendredi 8 février 2008 à 18:00:05 | Re : lit au clavier des entiers positifs et calcul leur moyenne

jfrancois

Bonjour

1) "somme % nb_Entier" donne le modulo et non la moyenne ! il faut "somme / nb_Entier".

2) "moyenne" étant un float, il faut "%f" dans le format de printf.

3) le calcul "somme / nb_Entier" étant fait sur des entiers, le résultat sera tronqué.

#include <stdio.h>
main()
{
   int   n;             // entier à saisir
   int   nb_Entier = 0; // nombre d'entiers saisi
   int   somme = 0;     // somme des entiers saisis
   float moyenne;       // moyenne des entiers saisis
   while (true)
   {
      // --- Saisir l'entier au clavier
      printf("Saisir un entier positif (negatif ou nul pour arreter) : ");
      scanf("%d",&n);
      if (n <= 0) break;
      somme += n;
      ++nb_Entier;
   }
   //--nb_Entier;

   // --- Afficher le nombre d'entiers saisis
   printf("\nNombre d'entiers saisis = %d\n",nb_Entier);
  
   // --- Afficher la somme des entiers saisis
   printf("Somme des entiers saisis = %d\n",somme);

   // --- Calculer et afficher la moyenne
   moyenne = (float)somme / (float)nb_Entier;
   printf("Moyenne = %.2f\n\n",moyenne);
}


Saisir un entier positif (negatif ou nul pour arreter) : 1
Saisir un entier positif (negatif ou nul pour arreter) : 2
Saisir un entier positif (negatif ou nul pour arreter) : 3
Saisir un entier positif (negatif ou nul pour arreter) : 4
Saisir un entier positif (negatif ou nul pour arreter) : 0

Nombre d'entiers saisis = 4
Somme des entiers saisis = 10
Moyenne = 2.50


Jean-François


vendredi 8 février 2008 à 18:03:39 | Re : lit au clavier des entiers positifs et calcul leur moyenne

themessenger

Merci Jean Francois .... ca marche et vive codes sources

the messenger

vendredi 8 février 2008 à 18:09:29 | Re : lit au clavier des entiers positifs et calcul leur moyenne

CCJ

Membre Club
Salut.

En effet.
Seulement :
1) int main(int argc,char** argv) est plus standard
2)je sais que ce programme n'est fait qu'a titre d'exemple et que j'ignore totalement son but au sein d'un eventuel programme plus complexe seuelement dans ce cas autant remplacer :
printf("Moyenne = %.2f\n\n",moyenne);
par :
printf("Moyenne = %.2f\n\n",(float)somme / (float)nb_Entier);

Ca fait une variable de moin .
(je chipote ?)

Si l'informatique été de l'alcool il y aurait des genies partout

vendredi 8 février 2008 à 18:20:24 | Re : lit au clavier des entiers positifs et calcul leur moyenne

themessenger

merci ... a tous

the messenger

samedi 9 février 2008 à 00:10:39 | Re : lit au clavier des entiers positifs et calcul leur moyenne

SAKingdom

Membre Club
"1) int main(int argc,char** argv) est plus standard"
Pas plus standard que la méthode précédente. Si on utilise pas la ligne de commande, on s'en fout.

"Ca fait une variable de moin .
(je chipote ?)"

Oui, tu chipotes ;)

C++ (@++)


samedi 9 février 2008 à 09:10:26 | Re : lit au clavier des entiers positifs et calcul leur moyenne

CCJ

Membre Club
La console c'est le bien
Sinn le tag "Réponse accepté"...

Si l'informatique été de l'alcool il y aurait des genies partout

samedi 9 février 2008 à 10:19:50 | Re : lit au clavier des entiers positifs et calcul leur moyenne

BruNews

Administrateur CodeS-SourceS
Pour être tout à fait clair, tu ne chipotes pas mais tu as simplement dit nimporte quoi.
C'est le compilo qui décide des variables qui existeront et de ce qui ne sera traité que dans les registres, le compilo et personne d'autre à moins d'écrire en ASM.

ciao...
BruNews, MVP VC++



Cette discussion est classé dans : entiers, entier, moyenne, nb, somme


Répondre à ce message

Sujets en rapport avec ce message

comparer un caractere et un entier [ par sozer2 ] Bonjour j'ai 2 variablechar sup;int nb_produits; for(i=0; iEn fait ce que je veux, c que lors d'une saisie si on choisi un chiffre il n'y ai pas de pr tableau d 'entier séquence [ par Strick9 ] Bonjour à tousvoila je suis débutant et j'aimerai bien connaître la solution de cet énoncé.Soit un tableau d'entier. Une séquence paire est une suite Somme d'entiers [ par PiraTmaT ] Bonjour,Je dispose d'une suite d'un certain nombre d'entiers aléatoires inférieurs ou égaux à 100.Je dois déterminer s'il est possible de regrouper un besoin d'aide sur un programme de calcul de moyenne [ par Eaglevmt4 ] bonjour a tous je débute en programmation, je suis en première année de bts iris et j'ai un petit programme a rendre mais j'avoue avoir pas mal de dif recherche [ par dvpm ] je suis débutant et j'essaie de mettre au point un programme qui permet à son utilistareur de rentrer des nombres (des entiers positifs) ua clavier Multiplication sur des tableaux entiers [ par kikouk ] Salut.J'ai besoin de créer une procédure sous Visual C++ qui réalise la multiplication de 2 grands entiers (stockés dans 2 tableaux (1 dimension)) et un string comme un entier. [ par DarkSchneider ] Bonjour, J'ai un petit problème de mémoire.Je sais qu'il est possible de se servir d'une chaine de caractere pour effectuer un calcul, mais je me rapp PB poilu de Stack 0verFlow (c++) [ par toufleboss ] Ci joint un algo de détourage d'un bmp de qq lignes :Le Binze c'est que des que la zone a détourée est trop importante je me tape un Stack overflow (l somme [ par djkill55 ] sltje doi faire un programe ki me calcul la somme des chiffre en position imparie de mon nombre, par exemple, 123467: 1+3+6 = 10kelkun aurai une idee somme [ par djkill55 ] SLTje doi faire une fonction ki me calcule la somme des chifre ke je rentre: 23123 => 2 + 3 + 1 + 2 + 3kelkun peu m aider svp...merci


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.