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 :

Modulo et nombre impair/pair


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut Modulo et nombre impair/pair
    Bonjour,

    je fais un petit programme dans lequel on entre des valeur... en fonction que la valeur soit pair ou impair, elle sera additionné à une variable différente...

    je voulais utiliser la fonction modulo MOD mais elle prend pas et je sais pas trop pourquoi ! Dans mon idée si le modulo d'un nombre était différent de zéro le nombre est impair si non il est pair...

    Voila le programmme merci de votre aide

    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
    /*S3_E01*/
     
    #include <stdlib.h>
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
     
    #define max 5
     
    int main()
    {
        int tab[max];
        int i,sommep,sommeimp,r,temp;
        for (i=0;i<max;i++)
        {
        printf("enter un nombre entier"); 
        scanf("%d",&tab[i]);
        temp=tab[i];
        r=MOD temp;
        if (r<0)
        sommeimp=sommeimp+temp;
        else 
        sommep=sommep+temp;
        }
        for (i=0;i<max;i++)
        printf("nombre[%d] = %d\n",i+1,tab[i]);
        printf("\nle somme des nombre pair est %d\n",sommep);
        printf("le somme des nombre impair est %d",sommeimp);
        system("pause");
    }

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    parce que modulo en C c'est l'opérateur %

    9 % 2 = 1

  3. #3
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Attention au variables non initialisée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int sommep;
    //....
    sommep=sommep+temp;
    Ce code va te donner un résultat érroné.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut
    OK merci pour vos réponses...

    en fait je ne peut donc pas déterminer le parité d'un nombre x avec le modulo !

    comment faire alors ??

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par degseb Voir le message
    OK merci pour vos réponses...

    en fait je ne peut donc pas déterminer le parité d'un nombre x avec le modulo !

    comment faire alors ??

    je viens de te le dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( (nombre % 2) == 0 )
        fprintf ( stderr, "\n Nombre pair");
    else
        fprintf ( stderr, "\n Nombre impair");

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut
    ouppsss désolé ... j'étais distrait

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Normalement ton compilo doit optimiser un iVar%2, mais la parité sera plus performante avec un &. En fait, un %2, ca a tendance à me 'choquer'.

Discussions similaires

  1. savoir si un nombre est pair ou impair?
    Par bubulle29 dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/06/2009, 15h39
  2. Réponses: 6
    Dernier message: 27/05/2009, 22h14
  3. savoir si un nombre est pair ou non
    Par shirya dans le forum C++
    Réponses: 25
    Dernier message: 23/11/2005, 17h53
  4. Réponses: 4
    Dernier message: 30/06/2002, 20h23

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