Programme en C : parité d'un nombre
Mizukage Tobi
Messages postés
26
Statut
Membre
-
farid -
farid -
Bonjour,
J'ai fait ce programme pour déterminer si une nombre est pair ou impaire :
#include<stdio.h>
int a, b ;
int main ()
{
printf("\nValeur de a :") ;
scanf("%d", &a) ;
b / 2 == a ;
if (a * 2 == b)
printf("Oui\n") ;
else
printf("Non\n") ;
}
Le résultat est toujoours faux, à part en entrant a = 0.
Que dois je faire ?
J'ai vu qu'il est possible d'utiliser le modulo, mais je ne sais pas comment faire !
Merci par avance
J'ai fait ce programme pour déterminer si une nombre est pair ou impaire :
#include<stdio.h>
int a, b ;
int main ()
{
printf("\nValeur de a :") ;
scanf("%d", &a) ;
b / 2 == a ;
if (a * 2 == b)
printf("Oui\n") ;
else
printf("Non\n") ;
}
Le résultat est toujoours faux, à part en entrant a = 0.
Que dois je faire ?
J'ai vu qu'il est possible d'utiliser le modulo, mais je ne sais pas comment faire !
Merci par avance
A voir également:
- Programme en C : parité d'un nombre
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
8 réponses
Bonjour !
Alors c'est tout simple le modulo renvoit le reste d'une division
Par exemple 25 modulo 2 = 1
24 modulo 2 = 0
A partir de là il suffit de faire
if( a % 2 == 1)
{
printf("Il est impaire")
}
else
{
printf("Il est paire")
}
et pour régler le problème du 0, faut juste mettre une condition au début.
Tu peux même la jouer ultra précis et gérer si le chiffre entré et négatif dans ce cas multiplier par -1 enfin bon ...
j'espère avoir été claire
Alors c'est tout simple le modulo renvoit le reste d'une division
Par exemple 25 modulo 2 = 1
24 modulo 2 = 0
A partir de là il suffit de faire
if( a % 2 == 1)
{
printf("Il est impaire")
}
else
{
printf("Il est paire")
}
et pour régler le problème du 0, faut juste mettre une condition au début.
Tu peux même la jouer ultra précis et gérer si le chiffre entré et négatif dans ce cas multiplier par -1 enfin bon ...
j'espère avoir été claire
Merci beaucoup, j'ai trouvé comment cela fonctionne en faisant ce programme :
#include<stdio.h>
int a, b ;
int main ()
{
printf("\nValeur de a :") ;
scanf("%d", &a) ;
a == b * 2 ;
if (a%2 == 0) /* Utilisation du modulo, ici reste = 0 */
printf("Oui\n") ;
if (a%2 == 1)
printf("Non\n") ;
}
Maintenant je voudrais modifier ce programme pour que le résultat soit obtenu par appel à une fonction (que je nommerais pair).
Dois je insérer la commande char pair ?
#include<stdio.h>
int a, b ;
int main ()
{
printf("\nValeur de a :") ;
scanf("%d", &a) ;
a == b * 2 ;
if (a%2 == 0) /* Utilisation du modulo, ici reste = 0 */
printf("Oui\n") ;
if (a%2 == 1)
printf("Non\n") ;
}
Maintenant je voudrais modifier ce programme pour que le résultat soit obtenu par appel à une fonction (que je nommerais pair).
Dois je insérer la commande char pair ?
Euh si tu veux faire appel à une fonction c'est que tu veux retourner un entier ou un caractère à la rigueur, mais qui va te servir pour travailler sur la valeur dans le main ... est ce le cas?
Sinon si c'est juste de l'affichage je te recommande une procédure.
Toujours en espérant avoir été claire
Sinon si c'est juste de l'affichage je te recommande une procédure.
Toujours en espérant avoir été claire
En effet, je voudrais retourner une solution de type caractère.
J'ai trouvé deux méthodes pour appeler une fonction :
Première méthode : utiliser son nom suivi de la liste d'arguments entre parenthèses, dans une instruction. Si la fonction a une valeur de retour, elle sera ignorée.
exemple : mike(34) ;
Seconde méthode (celle qui concerne les fonctions renvoyant à une valeur) :
printf("La moitié de "%d est %d.", y, moitié_de(y)) ;
J'ai trouvé deux méthodes pour appeler une fonction :
Première méthode : utiliser son nom suivi de la liste d'arguments entre parenthèses, dans une instruction. Si la fonction a une valeur de retour, elle sera ignorée.
exemple : mike(34) ;
Seconde méthode (celle qui concerne les fonctions renvoyant à une valeur) :
printf("La moitié de "%d est %d.", y, moitié_de(y)) ;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ensuite, on pourrait définir : b = moitié_de(y)
a = valeur_de(x)
avec
printf("La valeur de %d est %d.", x, Valeur_de(x)) ;
a = valeur_de(x)
avec
printf("La valeur de %d est %d.", x, Valeur_de(x)) ;
Pfiou j'ai du mal à te suivre je dois avouer (fin de journée oblige).
Si tu n'as pas trouvé de solution ou comment faire dis le moi et je te proposerais une solution dont tu pourras t'inspirer à la rigueur.
Si tu n'as pas trouvé de solution ou comment faire dis le moi et je te proposerais une solution dont tu pourras t'inspirer à la rigueur.
Oui, je vous remercie car cela fait deux heures que je recherche comment faire, et je ne trouve pas :-(
Oki alors voilà ce que je ferais, je précise que je n'ai pas compilé.
Ceci c'est avec une fonction qui retourne un caractère :
#include <stdio.h>
#include <stdlib.h>
char parite ( int leNb)
{
char reponse;
reponse = 'p';
if ( leNb % 2 == 1)
{
reponse = 'i';
}
return reponse;
}
int main(void)
{
int votreNbre
printf("Entrez un nombre svp\n");
scanf("%d", &votreNbre);
if(votreNbre > 0)
{
if((parite(votreNbre)) == 'p')
{
printf("C'est pair\n");
}
else
{
printf("C'est impaire\n");
}
}
else
{
printf("0 est pair c'est bien connu!\n");
}
getchar();
return 0;
}
Ici c'est avec une procédure :
#include <stdio.h>
#include <stdlib.h>
void parite ( int leNb)
{
if ( leNb % 2 == 1)
{
printf("Ce nombre est impaire\n");
}
else
{
printf("Ce nombre est paire\n");
}
}
int main(void)
{
int votreNbre
printf("Entrez un nombre svp\n");
scanf("%d", &votreNbre);
if(votreNbre > 0)
{
parite(votreNbre);
}
else
{
printf("0 est pair c'est bien connu!\n");
}
getchar();
return 0;
}
Voilà
Ceci c'est avec une fonction qui retourne un caractère :
#include <stdio.h>
#include <stdlib.h>
char parite ( int leNb)
{
char reponse;
reponse = 'p';
if ( leNb % 2 == 1)
{
reponse = 'i';
}
return reponse;
}
int main(void)
{
int votreNbre
printf("Entrez un nombre svp\n");
scanf("%d", &votreNbre);
if(votreNbre > 0)
{
if((parite(votreNbre)) == 'p')
{
printf("C'est pair\n");
}
else
{
printf("C'est impaire\n");
}
}
else
{
printf("0 est pair c'est bien connu!\n");
}
getchar();
return 0;
}
Ici c'est avec une procédure :
#include <stdio.h>
#include <stdlib.h>
void parite ( int leNb)
{
if ( leNb % 2 == 1)
{
printf("Ce nombre est impaire\n");
}
else
{
printf("Ce nombre est paire\n");
}
}
int main(void)
{
int votreNbre
printf("Entrez un nombre svp\n");
scanf("%d", &votreNbre);
if(votreNbre > 0)
{
parite(votreNbre);
}
else
{
printf("0 est pair c'est bien connu!\n");
}
getchar();
return 0;
}
Voilà