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 :

[Débutant] '/' : Division entiere ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut [Débutant] '/' : Division entiere ?
    Bonjour,
    j'ai créer un programme qui effectue une opération. le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <iostream>
    using namespace std ;
     
    int main ()
    {
     
        float res ;
     
     
        res = 7*2/4;   
        cout << res << endl ;   //affiche "3"
        system("PAUSE");
    }
    Chez moi, Maple et chez ma calculette "7*2/4" ca fait 3.5 or le programme affiche 3 je voulait savoir si c'etait normal que le resultat soit arrondi, si oui, comment l'afficher sans qu'il soit arrondi a l'unitée inférieure.

    "7/4" affiche 1.

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 180
    Par défaut
    Bonjour,

    En c++ la division / est la division entière. C'est la partie entière de la division.
    Pour remedier à celà, écrit 7.*2./4.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 180
    Par défaut
    Pour compléter un peu, fait toujours attention dans tes programmes que le symboles / efectue la division entière.
    Donc si tu veux avoir une division a/b "normale", déclare a et b comme des "double" par exemple.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut
    Ok merci, mais quand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <iostream>
    using namespace std ;
     
    int main ()
    {
     
        float res ;
     
     
        res = 7./4.;   
        cout << res << endl ;   //affiche "1.75"
        system("PAUSE");
    }
    Cela m'affiche 1.75 au lieu de 1.66666666666666666666666... tout a l'heure je sais plus comment j'ai reussi à afficher trés exactement 1.6667 (arrondi a 10^-4 près c pas génial mais ca m'avançait deja plus)
    Quelqu'un saurais me dire comment j'avais fait ça?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut
    Désolé j'avais pas lu.
    Mais si je déclare a et b comme des doubles je peut pas faire "a % b".
    Tout a l'heure j'ai essayer de le faire mais je me suis fait engeuler par le compilateur comme quoi il faut que a et b soit des entiers.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 180
    Par défaut
    7 divisé par 4 ça fait de toute façon 1,75 donc je vois pas le problème

    L'operateur % fonctionne uniquement avec des entiers.
    Ce qui tu peux faire si tes nombres a et b sont initialement des doubles, c'est écrire int(a)%int(b), il converti a et b en entier.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 40
    Par défaut
    Oui désolé pour le 7/4 je pensait a une autre opération "test" que j'avais fait avant merci pour le conseil pour pouvoir utilser le modulo avec des non-int.
    Je dois donc déduire qu'on peut pas obtenir le modulo de 2.324544 par 125/1243 ?

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

Discussions similaires

  1. Division entiers qui donne un double
    Par Viscapon dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 05/01/2009, 11h03
  2. Débutant : diviser un tableau de valeur par 1000
    Par sebest95 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 27/05/2008, 14h53
  3. [tableau Java] + débutant + fréquence entier
    Par Joliefleur4ever dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 07/12/2007, 18h47
  4. [débutant]diviser une List par paquet
    Par pingoui dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 01/09/2007, 18h24
  5. [TP]Division de longs entiers
    Par Pebg dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 14/12/2003, 12h10

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