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   -
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 ,

#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

  1. Zepines Messages postés 120 Statut Membre 230
     
    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;
    }


    1
  2. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
     
    Bonjour,

    Comme on ne sais pas ce que tu cherches à faire, on peut difficilement t'indiquer comment le faire!

    Par exemple:
    - si tu veux que
    prod
    soit la somme des 10 premiers entiers, il faut remplacer la ligne 6 par
    prod += k;
    , mais le nom
    prod
    serait très mal choisi.
    - si tu veux que
    prod
    soit le produit des 10 premiers entiers, il faut conserver la ligne 6, mais ligne 3, il faut faire
    int prod = 1;
    car comme l'a écrit Zepines tu ne fait que multiplier des zéros, là aussi le nom
    prod
    devrait plutôt être
    factorielle
    .
    1
  3. RYn_9741 Messages postés 10 Statut Membre
     
    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
    0
    1. Zepines Messages postés 120 Statut Membre 230
       
      De rien :)

      Il fait des choses bizarres. À commencer par
      prod=0
      donc ça multiplie continuellement par 0...

      L'incrémentation de
      i
      (
      i++
      ) sert pour la boucle
      for
      . À chaque passage (tant que
      i
      est inférieur ou égal à
      10
      ) +1 est ajouté à
      i
      . Une fois que
      i
      est supérieur à
      10
      la boucle s'arrête.
      L'incrémentation de
      k
      est juste utilisée pour ce calcul bizarre.
      2