begin process at 2012 02 13 01:20:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

lit au clavier des entiers positifs et calcul leur moyenne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lit au clavier des entiers positifs et calcul leur moyenne

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ée 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 somme des diviseurs propres d'entier amis. [ par hazertyck ] Bonjour, je suis etudiant en première année d'informatique à la fac. J'ai ici un exercice de tp en C dont l'énoncé est le suivant et où mon code est b 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,388 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales