IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

division de réels


Sujet :

C

  1. #1
    Membre habitué Avatar de GDMINFO
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 350
    Points : 160
    Points
    160
    Par défaut division de réels
    Bonjour,

    voici un petit programme tout simple qui cherche juste à calculer la somme et la moyenne d'un nombre d'éléments donné :

    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;
    }
    Le problème se situe dans le calcul de la moyenne :

    moyenne = (float) moyenne / (float) nombre;
    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...

    Une idée ?

    Merci,

    GDM.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par GDMINFO Voir le message
    moyenne = (float) moyenne / (float) nombre;
    Ça ne serait pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne = (float) somme / (float) nombre;
    par hasard ?

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne = (float) moyenne / (float) nombre;
    Quand tu fais ton calcul, moyenne est toujours à 0. Or 0 / x = 0 (x != 0)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne = somme/ (float) nombre;
    Edit:
    PS : le code posté est du C++, pas du C

  4. #4
    Membre habitué Avatar de GDMINFO
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 350
    Points : 160
    Points
    160
    Par défaut Merci :-)
    Merci pour toutes ces réponses !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème division de nombres réels
    Par Pandapi dans le forum Général Python
    Réponses: 6
    Dernier message: 30/01/2013, 11h13
  2. VESA - Mode réel / protégé / EMS-XMS
    Par zdra dans le forum x86 16-bits
    Réponses: 35
    Dernier message: 21/08/2010, 10h39
  3. Division de deux réels avec un résultat entier
    Par Triste dans le forum Débuter
    Réponses: 7
    Dernier message: 30/11/2007, 14h23
  4. Réponses: 16
    Dernier message: 18/11/2005, 13h33
  5. [MaskEditBox] Affecter avec un réel
    Par fikou dans le forum Général VBA
    Réponses: 6
    Dernier message: 16/09/2002, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo