IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Ma boucle compte mal


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    débutant c++
    Inscrit en
    Août 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : débutant c++

    Informations forums :
    Inscription : Août 2015
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Ma boucle compte mal
    Bonjour,

    je tente d'utiliser des boucles (for, while), mais cela donne des comportement imprévisibles.

    voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iostream>
    #include <stdio.h>
     
    using namespace std;
     
    int main() {
        cout << "Hello world!" << endl;
        int position = 5;
        for (int i = 0; i<5; i++) {
            position += i;
            printf ("i = %d, position (%d+5) = %d\n", i, i, position);
        }
        return 0;
    }
    et voici le résultat (pour le moins surprenant) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Hello world!
    i = 0, position (0+5) = 5
    i = 1, position (1+5) = 6
    i = 2, position (2+5) = 8
    i = 3, position (3+5) = 11
    i = 4, position (4+5) = 15
     
    Process returned 0 (0x0)   execution time : 0.030 s
    Press any key to continue.
    Si quelqu'un peut m'expliquer ce phénomène et surtout comment obtenir quelque chose de plus classique.

    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        for (int i = 0; i<5; i++) {
            position = 5;
            position += i;
            printf ("i = %d, position (%d+5) = %d\n", i, i, position);
        }

  3. #3
    Membre à l'essai
    Homme Profil pro
    débutant c++
    Inscrit en
    Août 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : débutant c++

    Informations forums :
    Inscription : Août 2015
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    En effet.....
    j'ai oublié le "reset" de position.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. boucle for qui s'affiche mal
    Par kate59 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 22/04/2009, 15h47
  2. Compte a rebours en boucle
    Par foufoutom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2007, 13h29
  3. Compte à rebours en boucle
    Par foufoutom dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/09/2006, 06h52
  4. [Tableaux] Boucle pas prise en compte
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 27/08/2006, 16h31
  5. Réponses: 2
    Dernier message: 29/04/2006, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo