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 :

Nom de variable en fonction d'une it�ration


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2010
    Messages
    2 051
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 2 051
    Par d�faut Nom de variable en fonction d'une it�ration
    Bonjour tous,

    je voudrais savoir comment on peut faire en C++ pour qu'a chaque it�ration on est une nouvelle variable:

    exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    for (....)
    mavariable{i}=....;
    i=i+1;
    end
    je sais que l'on peut utiliser des tableaux pour des choses dans ce genre mais moi ce n'est pas ce que je veux.
    en effet pour chaque it�ration je veux r�aliser un objet nomm�: objet0, objet1, objet3....

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    ouais, faire un tableau quoi.
    Je vois pas pourquoi tu aurais besoin de n objets de nom differents, les �l�ments d'un tableau sont bien suffisant.

  3. #3
    Membre exp�riment�
    Homme Profil pro
    Analyse syst�me
    Inscrit en
    Novembre 2008
    Messages
    227
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Analyse syst�me
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par d�faut
    A part en utilisant des templates ( et encore pas sur) je ne vois comment on peut proc�der pour se genre de chose.
    Tu peux cr�er des nouveaux objets en utilisant les pointeurs, mais tu seras oblig� de stocker une r�f�rence sur ces objets (pour pouvoir les utiliser) et � part un tableau ou un conteneur de la STL je ne vois comment tu peux faire.
    Sinon, ce que tu veux faire s'approche plus du script ( Il faut savoir que une fois compil�, les noms de variables n'existe plus dans ton code, tu as seulement acc�s � des adresses m�moires.)

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2010
    Messages
    2 051
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 2 051
    Par d�faut
    merci de vos r�ponses,
    il y a peut etre une autre fa�on de faire mais je ne vois pas

    ==> je vous montre mon morceau de programme:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <vector>
    #include "Matrix.h"
    #include "Precipitate.h"
    
    using namespace std;
    
    vector <Matrix> A;
    vector <Precipitate> B;
    int i=0, j=0;
    
    int main()
    {
        string mon_fichier = "data.txt";  // je stocke dans la cha�ne mon_fichier le nom du fichier � ouvrir
        ifstream dataBase(mon_fichier.c_str(), ios::in);
        if(dataBase)  // si l'ouverture a r�ussi
        {
            while (!dataBase.eof()) //temps que l'on a pas tout lu
            {
                  if (!dataBase.eof())
                  {
                      string command, dump;
                      dataBase >> command;
    
                      if (command=="#")
                      {
                          getline(dataBase,dump);
                          cout << dump << endl;
                      }
                      else if (command=="matrix")
                      {
                          string MatrixName;
                          double LatticeParameter_M, AtomicVolume_M;
                          cout << "matrix command invoqued"  << endl;
                          dataBase >> command;
                          MatrixName = command;
                          dataBase >> LatticeParameter_M;
                          LatticeParameter_M = LatticeParameter_M;
                          dataBase >> AtomicVolume_M;
                          AtomicVolume_M = AtomicVolume_M;
    //                      cout << MatrixName << " "<<LatticeParameter_M << " " << AtomicVolume_M << endl;
                          A.push_back(Matrix donnees_matrice{i}(MatrixName, LatticeParameter_M, AtomicVolume_M));
                          i=i+1;
    
                      }
                       else if (command=="precipitate")
                       {
                          string PrecipitateName;
                          double LatticeParameter_P;
                          cout << "precipitate command invoqued"  << endl;
                          dataBase >> command;
                          PrecipitateName = command;
                          dataBase >> LatticeParameter_P;
                          LatticeParameter_P = LatticeParameter_P;
    //                      cout << PrecipitateName << " " << LatticeParameter_P << " " << endl;
    
                          B.push_back(Precipitate donnees_precipites{i}(MatrixName, LatticeParameter_M, AtomicVolume_M));
                          j=j+1;
                       }
                       else
                       {
                       }
                    }
                    else
                    {
                        break;
                    }
                }
            }
            else  // sinon
            {
                 cout << "Impossible d'ouvrir le fichier !" << endl;
            }
            dataBase.close();  // on ferme le dataBase
    
    
            return 0;
    }
    en fait je veux faire deux vector A et B, qui contiennent divers objets qui sont g�n�r�s � chaque it�rations

    voila le fichier texte qui sert de base:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    # premier type de donnees
    matrix ferrite 2.85 1e-30
    matrix aluminium 1.85 1.2e-30
     
    # deuxieme type de donnees
    precipitate VC 4.1
    precipitate Mg2Si 4
    precipitate Mg5Si6 4.7

  5. #5
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Tu te fourvoies l�

    Ce que tu souhaites faire, c'est empiler des objets dans un tableau - tu n'a strictement aucun besoin de stocker des noms de variables diff�rents. Quand tu fait un push_back(), tu ne stocke pas une variable, tu stocke son contenu. Dans ton cas (le premier) tu stocke une matrice - quel besoin a tu de lui donner un nom particulier ? De toute fa�on, tu vas ensuite y acc�der � partir du tableau, pas � partir d'une variable qui se serait cr�� toute seule

    (et non, il n'est pas possible de le faire non plus avec des templates. Ni avec des macros. Et c'est tant mieux, parce que �a n'a pas beaucoup de sens ).
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2010
    Messages
    2 051
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 2 051
    Par d�faut
    merci d'avoir pris le temps de r�pondre,

    donc si je comprends bien il suffit de faire ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    A.push_back(Matrix (MatrixName, LatticeParameter_M, AtomicVolume_M));
    ?

  7. #7
    Membre exp�riment�
    Homme Profil pro
    Analyse syst�me
    Inscrit en
    Novembre 2008
    Messages
    227
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Analyse syst�me
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par d�faut
    oui.

    Si tu veux optimiser le temps de traitement tu peux stocker des pointeurs, mais sinon c'est bien cel�

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Nom de variable, en fonction d'une it�ration
    Par maximefabas dans le forum ActionScript 3
    R�ponses: 10
    Dernier message: 21/06/2010, 16h49
  2. Nom de variable cr�� � partie d'une variable
    Par vargasvan dans le forum Servlets/JSP
    R�ponses: 2
    Dernier message: 25/09/2007, 13h37
  3. R�ponses: 17
    Dernier message: 15/04/2007, 12h28
  4. [VBA-E] Nom et couleur bouton fonction d'une cellule
    Par zouille dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 03/04/2006, 17h00
  5. R�ponses: 4
    Dernier message: 16/02/2006, 10h40

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