Définir nombre paire et impaire en C++

Résolu
ninikids1 Messages postés 271 Statut Membre -  
ninikids1 Messages postés 271 Statut Membre -
Bonjour,

J'ai un petit souci pour mon programme, je voudrais dire que si le nombre est paire il faut faut ça et si le nombre est impaire il faut faire ça !
Sauf que je ne sais pas définir un nombre paire et un nombre impaire, je suis que si je définis un nombre "a", il y a une histoire de a%2 (ou quelque chose d'autre)==0 (paire) et a%2(ou quelque chose d'autre)!=0 (impaire)

Bref je suis un peu perdue... Quelqu'un pourrait-il m'aider s'il vous plaît ?
Merci d'avance et bonne fin de soirée

3 réponses

ElementW Messages postés 5690 Statut Contributeur 1 224
 
'lut, il y a deux manières qui me viennent à l'esprit:
- le modulo 2, que tu mentionnes; 0 % 2 = 0; 1 % 2 = 1; 2 % 2 = 0; et ainsi de suite
Donc ce que tu dis est juste, on s'en sers comme ceci:
if (a % 2 == 0) {
    // Paire
} else {
    // Impaire
}

- le ET binaire à 1. En binaire, pour qu'un nombre soit impaire, il faut que son dernier bit (le moins significatif), soit 1. Exemple: 5 <-> 101; 4 <-> 100. En C++ ça donne:
if (a & 1) {
    // Paire
} else {
    // Impaire
}
Pas la peine de mettre
==1
, car 0 évalue à
false
et toute autre valeur évalue à
true
.
5
ninikids1 Messages postés 271 Statut Membre 6
 
Je vais prendre la première méthode je pense, comme je dois l'expliqué en "exposé" je la comprends mieux, merci beaucoup pour votre réponse et bonne fin de journée à vous
0
ninikids1 Messages postés 271 Statut Membre 6
 
Puis-je vous poser une autre question ?
j'ai ça comme programme et il ne fonctionne pas et je ne trouve pas pourquoi :

#include <iostream>

using namespace std;

int main()
{ int a;
cout << "Tapez un nombre svp : ";cin>>a;
if(a%2==0){a=a+2}
else{a=a+1}
cout<<"Le nombre final est donc : "<<a<<endl;
return 0;
}
0
ElementW Messages postés 5690 Statut Contributeur 1 224
 
np.cpp:9:17: error: expected `;' before `}' token
Il manque des points-virgule...
0
ninikids1 Messages postés 271 Statut Membre 6
 
Je pensais bien mais en les mettant ça ne marchais pas non, mais je viens de me rendre compte que je ne les avais pas mis au bon endroit.... Qu'elle cruche... Merci à vous
0