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 :

Multiple d'un nombre


Sujet :

C++

  1. #1
    Nouveau membre du Club Avatar de bj303931
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 75
    Points : 27
    Points
    27
    Par défaut Multiple d'un nombre
    bonjour, j'aimerais savoir si un nombre est multiple... Or ce code ne marche pas dans tous les cas.

    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
    #include<iostream>
    #include<math.h>
     
    int main(){
    int nbPersonnes;
    int nbFruits;
    int rest;
     
    std::cin>>nbPersonnes;
    std::cin>>nbFruits;
     
    rest=nbPersonnes%nbFruits;
    if(rest==0){std::cout<<"oui";}
    else{std::cout<<"non";}
     
    return 0;}

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 059
    Points : 12 095
    Points
    12 095
    Par défaut
    Pourquoi rest est un float ?

  3. #3
    Nouveau membre du Club Avatar de bj303931
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 75
    Points : 27
    Points
    27
    Par défaut
    5/2=2.5 ce qui est un float

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 059
    Points : 12 095
    Points
    12 095
    Par défaut
    Sauf que rest, c'est le RESTE de la division ENTIÈRE.
    5%2=1

  5. #5
    Nouveau membre du Club Avatar de bj303931
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 75
    Points : 27
    Points
    27
    Par défaut
    okay, , t'as gagné... Mais ça regle pas le problème.

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    plusieurs réflexions que tu aurais pu te faire :
    - si rest = 2.5 (ton exemple) en quoi rest == 0 prouverait la divisibilité de tes valeurs dans N ?
    - si rest est le résultat de la division "normale" alors rest == 0 n'est possible que si nbPersonnes = 0,
    - pourquoi il existerait le modulo (%) si c'est pour faire exactement la même opération qu'avec l'opérateur de division (/) ?

    Bon dev.
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut
    Citation Envoyé par bj303931 Voir le message
    okay, , t'as gagné... Mais ça regle pas le problème.
    Bien sur que si que cela règle le problème!!!

    % est le modulo, c'est à dire le reste de la division. Si le reste est égal à 0, c'est que l'opérateur de gauche peut être completement divisé par l'opérateur de droite, ce qui revient à dire que l'opérateur de droite entre un nombre complet de fois dans l'opérateur de gauche, et donc que l'opérateur de gauche est bel et bien un multiple de celui de droite.

    Et c'est, justement, ce que tu essaies de savoir

    Allez, quelque exemples :
    • 5%2 = 2 reste 1 (réponse obtenue : 1)
    • 6%3 = 2 reste 0 (réponse obtenue : 0)
    • 21%7 = 3 reste 0 (réponse obtenue : 0)
    • 27%7 = 3 reste 6 (réponse obtenue : 6)

    comme tu peux le constater, si le reste de la division est égal à 0, c'est que tu as bel et bien affaire à un multiple
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2013
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 18
    Points : 35
    Points
    35
    Par défaut
    salut,
    tu fais ta division à l'envers :
    tu obtiens "oui" lorsque le nombre de personnes est multiple du nombre de fruits
    remplace nbPersonnes%nbFruits par nbFruits%nbPersonnes et ça marchera ...
    @+

  9. #9
    Membre éprouvé Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Points : 1 054
    Points
    1 054
    Par défaut
    Il n'est pas utile d'inclure math.h pour utiliser l'opérateur modulo qui fait partie de la base du langage C++. Sans compter qu'en C++, c'est cmath que tu aurais tu éventuellement inclure.

  10. #10
    Membre habitué Avatar de Abacar94
    Homme Profil pro
    L2 Math-informatique
    Inscrit en
    Novembre 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : L2 Math-informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 103
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par bj303931 Voir le message
    bonjour, j'aimerais savoir si un nombre est multiple... Or ce code ne marche pas dans tous les cas.
    La logique de ton programme est juste quel sont les valeur que a tester qui t'on donner des résultats étonner....?
    mis appart le fait que tu a permuter le nombres de personnes et de fruits dans ton calcule

Discussions similaires

  1. [MySQL] Multiplication de 2 nombres dans un tableau
    Par BertMont dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/05/2007, 18h48
  2. multiple d'un nombre
    Par sandball22 dans le forum C
    Réponses: 2
    Dernier message: 14/05/2007, 11h45
  3. Multiplication de 2 nombres binaires (CPU)
    Par exhortae dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 09/03/2007, 09h20
  4. Retourner une liste privée des multiples d'un nombre
    Par Premium dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2006, 23h50
  5. multiplication d'un nombre négatif
    Par tets88 dans le forum Access
    Réponses: 5
    Dernier message: 05/05/2006, 17h39

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