Programmation en C
Junho
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, Je suis débutant en programmation et j'ai besoin d'aide pour résoudre ce programme d'ores et déjà je vous dis merci.
Ecrire un programme en C qui calcule et affiche le produit des entiers pairs et impaires de 1 a 15.
Voila ce que je fais
# include. <studio.h>
main ()
{
int n; /* pour le nombre fournit par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
int Prod; /* calcule du produit*/
i=1
Prod=1
for (i=1;1<=15; i=i+1);
{
printf(" entrer un nombre entier : ");
scanf ("%d",& n);
printf ("voici son produit : %d\n", Prod*i);
i=i+1 /* +1 sur le compteur */
}
}
Ecrire un programme en C qui calcule et affiche le produit des entiers pairs et impaires de 1 a 15.
Voila ce que je fais
# include. <studio.h>
main ()
{
int n; /* pour le nombre fournit par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
int Prod; /* calcule du produit*/
i=1
Prod=1
for (i=1;1<=15; i=i+1);
{
printf(" entrer un nombre entier : ");
scanf ("%d",& n);
printf ("voici son produit : %d\n", Prod*i);
i=i+1 /* +1 sur le compteur */
}
}
A voir également:
- Programmation en C
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmer en basic sous windows 10 - Télécharger - Édition & Programmation
- Un autre programme est en cours d'installation - Forum Windows 10
- Programmation envoi sms - Guide
7 réponses
Bonjour,
Pas mal de problèmes.
Déjà ce n'est pas studio. h mais stdio.h (standard Input / Output).
main () : il faut mettre int main (void)
i=1 : il ne faut pas oublier le ";"
for (i=1;1<=15; i=i+1); pas de ";" ici sinon le for bouclera dans le vent.
i=i+1 : pas besoin de le mettre, il se trouve déjà dans le for.
Vous avez oublié le "return 0;" à la fin du programme.
Ensuite, dans votre programme, Prod reste toujours à 1. Il faudrait que la valeur change.
Pas mal de problèmes.
Déjà ce n'est pas studio. h mais stdio.h (standard Input / Output).
main () : il faut mettre int main (void)
i=1 : il ne faut pas oublier le ";"
for (i=1;1<=15; i=i+1); pas de ";" ici sinon le for bouclera dans le vent.
i=i+1 : pas besoin de le mettre, il se trouve déjà dans le for.
Vous avez oublié le "return 0;" à la fin du programme.
Ensuite, dans votre programme, Prod reste toujours à 1. Il faudrait que la valeur change.
Junho
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
comment je peux changer la valeur fiddy, dis le moi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
1- ton énoncé n'est pas clair :
a- soit tu veux calculer le produit de tous les nombres pairs <=15;
b- soit tu veux calculer le produit de tous les nombres impairs <=15;
c- soit tu veux calculer le produit de tous les nombres (pairs ou impairs) <=15
c'est-à-dire !15 (ou !n si c'est bien le sens que je comprends pour n).
Je te joins ci-dessous une version de ton programme pour calculer !n
(factorielle n) :
# include <stdio.h>
main ()
{
int n; /* pour le nombre fourni par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
long int Prod; /* calcul du produit*/
i=1;
Prod=1;
printf(" entrer un nombre entier : ");
scanf ("%d",&n);
for (i=1;i<=n; i=i+1)
{
Prod=Prod*i;
i=i+1; /* +1 sur le compteur */;
Prod=Prod*i;
}
printf ("voici son produit : %d\n", Prod*i);
}
Est-ce bien là ce que tu veux ?
a- soit tu veux calculer le produit de tous les nombres pairs <=15;
b- soit tu veux calculer le produit de tous les nombres impairs <=15;
c- soit tu veux calculer le produit de tous les nombres (pairs ou impairs) <=15
c'est-à-dire !15 (ou !n si c'est bien le sens que je comprends pour n).
Je te joins ci-dessous une version de ton programme pour calculer !n
(factorielle n) :
# include <stdio.h>
main ()
{
int n; /* pour le nombre fourni par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
long int Prod; /* calcul du produit*/
i=1;
Prod=1;
printf(" entrer un nombre entier : ");
scanf ("%d",&n);
for (i=1;i<=n; i=i+1)
{
Prod=Prod*i;
i=i+1; /* +1 sur le compteur */;
Prod=Prod*i;
}
printf ("voici son produit : %d\n", Prod*i);
}
Est-ce bien là ce que tu veux ?
alors voilà le programme le plus simple:
main ()
{
int n; /* pour le nombre fourni par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
long int Prod; /* calcul du produit*/
i=1;
Prod=1;
n=15;
for (i=1;i<=n; i=i+1)
{
Prod=Prod*i;
}
printf ("voici son produit : %d\n", Prod*i);
}
Salut
main ()
{
int n; /* pour le nombre fourni par l'utilisateur */
int i; /* compteur de nombre de valeur de traitées */
long int Prod; /* calcul du produit*/
i=1;
Prod=1;
n=15;
for (i=1;i<=n; i=i+1)
{
Prod=Prod*i;
}
printf ("voici son produit : %d\n", Prod*i);
}
Salut
Si Prod calculé dans le main ci-dessus doit être remonté à un programme "appelant ce main", cela signifie que ce "main" ne peut pas s'appeler "main" mais doit prendre un nom quelconque de fonction et doit alors se terminer par un "return (Prod)" ou "return (&Prod)" suivant le mode d'appel et suivant que Prod aura été déclaré comme variable globale (au programme appelant) ou comme variable locale à la fonction.
Bonsoir,
Il est vrai que l'énoncé est ambigu.
J'aurais plutôt compris qu'il fallait calculer d'une part le produit des entiers pairs, et d'une autre celui des entiers impairs.
M'enfin, cela n'est qu'une question de compréhension de l'exercice, or, ce qui importe, c'est la méthode.
En effet Junho il faut ajouter un "return 0;" avant la dernière accolade.
Aussi, il ne me semble pas que "long int" existe. C'est soit int, soit long. Et dans notre cas, le(s) résultat(s) est (sont) entier(s) donc on choisira plutôt int.
Cordialement,
Il est vrai que l'énoncé est ambigu.
J'aurais plutôt compris qu'il fallait calculer d'une part le produit des entiers pairs, et d'une autre celui des entiers impairs.
M'enfin, cela n'est qu'une question de compréhension de l'exercice, or, ce qui importe, c'est la méthode.
En effet Junho il faut ajouter un "return 0;" avant la dernière accolade.
Aussi, il ne me semble pas que "long int" existe. C'est soit int, soit long. Et dans notre cas, le(s) résultat(s) est (sont) entier(s) donc on choisira plutôt int.
Cordialement,
Aussi, on peut initialiser les variables directement à leur création !
C'est à dire qu'au lieu d'avoir :
On peut écrire :
De plus, lorsque des variables sont de même type, elles peuvent être écrites sur une même ligne, séparées par des virgules.
Cela donnerait :
Enfin, il existe une sorte de convention : les variables ne doivent pas commencer par une majuscule. Ce n'est pas interdit, mais la majorité des programmeurs prennent cette habitude, car, par la suite, cela rend les codes plus clairs !
C'est à dire qu'au lieu d'avoir :
int n; int i; int Prod; i=1; Prod=1; n=15;
On peut écrire :
int i=1; int Prod=1; int n=15;
De plus, lorsque des variables sont de même type, elles peuvent être écrites sur une même ligne, séparées par des virgules.
Cela donnerait :
int i=1, Prod=1, n=15 ;
Enfin, il existe une sorte de convention : les variables ne doivent pas commencer par une majuscule. Ce n'est pas interdit, mais la majorité des programmeurs prennent cette habitude, car, par la suite, cela rend les codes plus clairs !
musicetcie,
Tu parles de bonnes habitudes, alors je me permets de te reprendre sur un point.
int i=1, Prod=1, n=15 ;
Oui on peut lorsque c'est de même type, mais ce n'est pas conseillé. Il vaut mieux regrouper sur une ligne les variables qui ont la même logique (par exemple les compteurs, etc.).
Sinon pour info, le type long int existe. On écrit généralement long pour faire plus court. Mais long = long int. De même pour short = short int.
Tu parles de bonnes habitudes, alors je me permets de te reprendre sur un point.
int i=1, Prod=1, n=15 ;
Oui on peut lorsque c'est de même type, mais ce n'est pas conseillé. Il vaut mieux regrouper sur une ligne les variables qui ont la même logique (par exemple les compteurs, etc.).
Sinon pour info, le type long int existe. On écrit généralement long pour faire plus court. Mais long = long int. De même pour short = short int.