Erreur dans mon code C
Résolu
RYn_9741
Messages postés
10
Statut
Membre
-
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
salut a tous je vous écrit car j'ai besoin d'aide , j'ai un code en C qui ne veut pas fonctionner , il y a une erreur mais je ne sais pas ou est cette erreur , voici mon code et au passage je code sur code blocks ,
je vous remercie d'avance
#include <stdio.h>
int main()
{
int prod =0;
int k =1;
for(int i = 1 ; i <= 1 0; i++);
{
prod = prod*k ;
k++;
}
printf("La valeur de prod est %d",prod);
return 0;
}
je vous remercie d'avance
3 réponses
-
Salut @RYn_9741,
Tu as des espace et des;
en trop.
Voici ton code corrigé :#include <stdio.h> int main(){ int prod=0; int k=1; for(int i=1; i<=10; i++) { prod=prod*k; k++; } printf("La valeur de prod est %d",prod); return 0; }
-
Bonjour,
Comme on ne sais pas ce que tu cherches à faire, on peut difficilement t'indiquer comment le faire!
Par exemple:
- si tu veux queprod
soit la somme des 10 premiers entiers, il faut remplacer la ligne 6 parprod += k;
, mais le nomprod
serait très mal choisi.
- si tu veux queprod
soit le produit des 10 premiers entiers, il faut conserver la ligne 6, mais ligne 3, il faut faireint prod = 1;
car comme l'a écrit Zepines tu ne fait que multiplier des zéros, là aussi le nomprod
devrait plutôt êtrefactorielle
. -
ok je t'en remercie mais j'ai encore une question j'ai du mal a comprendre ce que le programme fait je sais qu'il fait une multiplication de deux variables mais a quoi ca sert toutes ces incrémentations (i++,k++).
ps : je débute la programmation-
De rien :)
Il fait des choses bizarres. À commencer parprod=0
donc ça multiplie continuellement par 0...
L'incrémentation dei
(i++
) sert pour la bouclefor
. À chaque passage (tant quei
est inférieur ou égal à10
) +1 est ajouté ài
. Une fois quei
est supérieur à10
la boucle s'arrête.
L'incrémentation dek
est juste utilisée pour ce calcul bizarre.
-