Définir nombre paire et impaire en C++

Résolu/Fermé
ninikids1 Messages postés 233 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 4 juillet 2017 - 3 janv. 2015 à 17:51
ninikids1 Messages postés 233 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 4 juillet 2017 - 3 janv. 2015 à 18:22
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
3 janv. 2015 à 17:58
'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 233 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 4 juillet 2017 6
3 janv. 2015 à 18:12
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 233 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 4 juillet 2017 6
3 janv. 2015 à 18:17
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 3/01/2015 à 18:19
np.cpp:9:17: error: expected `;' before `}' token
Il manque des points-virgule...
0
ninikids1 Messages postés 233 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 4 juillet 2017 6
3 janv. 2015 à 18:22
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