La boucle for

Bonjour, svp je veux traduire la phrase de l'algorithme suivante en langage c
la phrase c'est : " pour i de 1 a 10 pas 2 "
merci d'avance

3 réponses

  1. Contributeur
    Bonjour,

    C'est quoi qui te pose problème ?
    La syntaxe : for (initialisation; condition; incrémentation)
    2
    1. Contributeur
      J'aurai plutôt dit :
      for(instruction préliminaire au bloc; condition à remplir pour rester dans le bloc; instruction à effectuer avant le bloc suivant)
      1
    2. Contributeur
      @Char SnipeurEffectivement.
      0
    3. Modérateur
      @Char Snipeur"instruction à effectuer avant le bloc suivant", serait plutôt "instruction à effectuer après le bloc" parce que cette instruction sera effectuée même s'il n'y a pas de bloc suivant...
      on pourrait dire aussi "instruction à effectuer avant de tester la condition"
      0
    4. J'vais ajouter mon grain de sel...

      Je préfère :
       "instruction à effectuer après le bloc"
      plutôt que :
       "instruction à effectuer avant de tester la condition".
      En effet, lors de la première entrée dans la boucle, la troisième partie du 'for' n'est pas exécutée bien que la deuxième le soit.
      Bonne réflexion.
      0
  2. for(i = 1; i < 10 ; i + 2)
    {
    // ton programme
    }

    Voila :)
    0
    1. Modérateur
      Pour info : ton code n'est pas correct...
      0
    2. autant pour moi , j'ai oublié un =
      for(i = 1; i < 10 ; i += 2)
      {
      }
      0
    3. Modérateur
      J'aurais même dit que tu en as oublié deux ! Même si ça ne changera rien en pratique...

      for(i=1; i <=10 ; i+=2) 
      {
      }
      0
    4. ca change que si tu veux le faire aller jusqu'a 11! mais en general je veux toujours que i soit inferieur strict donc je met jamais le = c'est pour ca :)
      0
    5. Modérateur
      Non, la question était " pour i de 1 a 10 pas 2 ".
      Si on oublie le "pas 2" un instant, et qu'on le remplace par "pas 1", mettre i<10, itérera jusqu'à 9, mais le 10 ne sera pas pris en compte. Pour avoir 10 il faut mettre i<=10, et en aucun cas ça ne fera 11.
      Après le fait qu'on commence à 1 en allant de 2 en 2 fait qu'on ne tombera jamais sur 10, mais l'écriture i<=10 reste correcte et dans tous les cas on atteindra pas 11 !
      0
  3. for(1;10;2)
    -5
    1. Contributeur
      Bonjour,

      c'est quel langage ça ? Sûrement pas du C.
      0
    2. Du C ? Mais pourquoi pas !
      Il n'y aura pas d'erreur à la compilation, peut-être quelques warnings ?
      Mais je crains que le résultat ne soit pas celui escompté... à moins de vouloir fabriquer une boucle infinie!
      Bonne continuation.
      0