Programme en C : parité d'un nombre
Fermé
Mizukage Tobi
Messages postés
20
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
24 février 2010
-
17 févr. 2010 à 14:14
farid - 21 janv. 2012 à 23:35
farid - 21 janv. 2012 à 23:35
A voir également:
- Programme en C : parité d'un nombre
- Programme demarrage windows 10 - Guide
- Programme démarrage windows 10 - Guide
- Fichier ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
- Programme bonjour c'est quoi ✓ - Forum Logiciels
8 réponses
néoInformaticienne
Messages postés
20
Date d'inscription
mercredi 6 janvier 2010
Statut
Membre
Dernière intervention
17 février 2010
8
17 févr. 2010 à 14:19
17 févr. 2010 à 14:19
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
Mizukage Tobi
Messages postés
20
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
24 février 2010
4
17 févr. 2010 à 14:55
17 févr. 2010 à 14:55
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 ?
néoInformaticienne
Messages postés
20
Date d'inscription
mercredi 6 janvier 2010
Statut
Membre
Dernière intervention
17 février 2010
8
17 févr. 2010 à 15:15
17 févr. 2010 à 15:15
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
Mizukage Tobi
Messages postés
20
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
24 février 2010
4
17 févr. 2010 à 15:29
17 févr. 2010 à 15:29
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
Mizukage Tobi
Messages postés
20
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
24 février 2010
4
17 févr. 2010 à 15:35
17 févr. 2010 à 15:35
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)) ;
néoInformaticienne
Messages postés
20
Date d'inscription
mercredi 6 janvier 2010
Statut
Membre
Dernière intervention
17 février 2010
8
17 févr. 2010 à 17:55
17 févr. 2010 à 17:55
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.
Mizukage Tobi
Messages postés
20
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
24 février 2010
4
17 févr. 2010 à 17:56
17 févr. 2010 à 17:56
Oui, je vous remercie car cela fait deux heures que je recherche comment faire, et je ne trouve pas :-(
néoInformaticienne
Messages postés
20
Date d'inscription
mercredi 6 janvier 2010
Statut
Membre
Dernière intervention
17 février 2010
8
17 févr. 2010 à 20:04
17 févr. 2010 à 20:04
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à