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 :

personnaliser un boucle


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2008
    Messages : 139
    Par défaut personnaliser un boucle
    salut
    j'ai besoin de definir un boucle qui repete une instruction pour des valeurs distinctes , par exemple : 1..5 puis 7..60 etc
    merci

  2. #2
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    1..5 => valeur entière comprise entre 1 et 5?

  3. #3
    Membre confirmé
    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2008
    Messages : 139
    Par défaut
    oui c'est ce que je veux dire , alors comment faire ?

  4. #4
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void myLoop(int min, int max)
    {
      int i;
     
      for (i = min; i < max; ++i)
        my_func();
    }

  5. #5
    Membre confirmé
    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2008
    Messages : 139
    Par défaut
    merci mais c'est pas ca !
    comme tu as a dit j'ai besoin de plusieurs boucles , mois je veux repeter chaque instructions pour des nombres discrets(l'instruction contient le i) .
    je veux ecrire en c ou c++ c la meme chose la :
    repeter pour i appartenant a l'ensemble {1,5,6,10} l'instruction
    on peut faire ca avec le shell sous linux mais en c je ne sais pas comment le faire

  6. #6
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Les nombres sur lesquels tu veux itérer sont-ils stockés dans un conteneur? Sous quel forme? Les nombres sont-ils stockés sous forme de plage (1 à 5, 7 à 9, 23 à 62), ou il y a toutes les valeurs, (comme "for i in 1 2 3 4 5 7 8 9" du shell) ?

  7. #7
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Une possibilité est de regrouper les valeurs qui t'intéressent au sein d'un tableau d'entiers, soit, sous la forme "gravée dans le marbre" de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    size_t tab[]={1,5,7,9,123};
    soit sous la forme bien préférable d'un vecteur d'entiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    std::vector<size_t> tab;
    tab.push_back(1);
    tab.push_back(5);
    tab.push_back(7);
    tab.push_back(9);
    tab.push_back(123);
    Par la suite, tu peux envisager une boucle sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(size_t i = 0; i<tab.size();++i)
    {
        for(size_t j = 0;j<tab[i];++j)
        {
             // ce qu'il faut faire
        }
    }
    (en considérant la deuxième solution)

    Une autre possibilité, en fonction de ce que tu veux faire, est de voir s'il n'est pas envisageable de penser à la récursivité, sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    void foo( size_t value)
    {
        /* toujours tester le cas de base lorsque l'on travaille de manière
         * récursive
         */
        if(value == 0)
        {
            // ce qu'il faut faire
        }
        else
        {
            /* toute la logique ici aura pour but de tendre vers le cas de base
             */
           // ce qu'il faut faire avant l'appel récursif
           foo(value/2); //par exemple (l'appel récursif)
           // ce qu'il faut faire après l'appel récursif
        }
    }
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre confirmé
    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2008
    Messages : 139
    Par défaut
    je vais mieux expliquer la situation :
    je veux contruire une grille de Chambre (Chambre est une classe que j'ai deja definie ,le constructeur de chambre prend differents parametres pour chaque element de la grille le constructeur prend des parametres, donc j'ai collecter les elements qui vont prendre les meme parametres et les mettre dans une boucle particuliere)
    quel conteneur dois je utiliser sachant que je n'ai jamais utilisé de conteneur?

  9. #9
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Voici une liste exhaustive de conteneurs STL => http://cpp.developpez.com/faq/cpp/?page=STL

    A celles-ci, tu peux ajouter les tableaux qui serait plutôt un conteneur de type C. Ainsi, tu peux stocker toutes les valeurs que tu souhaites dans une seule structure.

    Pour ton problème, comme le propose koala01, le vector est le conteneur le plus adapté à ta situation...

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

Discussions similaires

  1. [XL-2003] Boucle sur une structure personnalisée ?
    Par pedritodelgado dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/08/2011, 23h01
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. [directsound] boucle de traitement de son
    Par gargle dans le forum DirectX
    Réponses: 5
    Dernier message: 24/03/2003, 10h47
  4. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 09h38
  5. Réponses: 2
    Dernier message: 29/05/2002, 20h43

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