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 :

Probl�me tableaux dynamiques


Sujet :

C++

  1. #1
    Membre chevronn� Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par d�faut Probl�me tableaux dynamiques
    Bonjour,

    J'ai un probl�me pour coder un tableau dynamique, voici un r�sum� de mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    en global : 
    AnsiString ** gTabstrSymbol;
     
    dans une fonction :
    gTabstrSymbol = new AnsiString* [1,1];
    (...)
          dans une boucle :
         *gTabstrSymbol = new AnsiString [iCptChar,iTabIndex];
          gTabstrSymbol[iCptChar][iTabIndex] = strTmp;
    Je veux agrandir mon tableau de 1 � chaque fois que j'ajoute un �l�ment...

    J'ai trouv� �a : http://cpp.developpez.com/faq/cpp/?p..._new_array_dim mais je ne m'en sort pas avec...


    Merci d'avance de vos r�ponses !

  2. #2
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Bonjour,
    Il faut bien comprendre les types de variables que tu manipules :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    AnsiString ** gTabstrSymbol;
    C'est un pointeur de pointeur sur AnsiString.
    Donc pour allouer ton tableau de tableau, c'est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    gTabstrSymbol = new AnsiString *[10];
    gTabstrSymbol est maintenant un tableau de 10 pointeur sur AnsiString.
    Il faut allouer maintenant chacun des �l�ments du tableau :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    gTabstrSymbol[i] = new AnsiString[Taillei];
    Chaque gTabstrSymbol[i] est un tableau sur Taillei �l�ments de type AnsiString.

    Ensuite, pour les lib�rer, il faut utiliser delete[] :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    delete []gTabstrSymbol[i]; // pour chaque i de 0 à 10
    // et 
    delete []gTabstrSymbol; // pour le tableau de tableau
    Une fois cel� dit, je rajouterais :
    1/ Les variables globales : c'est dangereux � utiliser. L'exp�rience montre que c'est une source fr�quente de bug et un probl�me de maintenance ;
    2/ Eviter d'utiliser les allocations dynamiques : pr�f�rer les conteneurs type std::vector. Ici aussi, l'exp�rience montre que c'est une source fr�quente de bug.

  3. #3
    Membre chevronn� Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par d�faut
    Merci de ta r�ponse !

    je ne comprends pas dans :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    gTabstrSymbol[i] = new AnsiString[Taillei];
    � quoi correspond le i de gTabstrSymbol[i] ?

    Mon code passe � la compilation mais l'ex�cution rien ne se passe, aucune erreur renvoy�e...

  4. #4
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Le i c'est � faire varier pour selon le nombre de tableaux que tu veux (dans mon exemple de 0 � 9); et taillei c'est la taille de chacun des sous-tableaux que tu souhaites allouer.

    Qu'il ne se passe rien � l'ex�cution, l�, je ne peux pas t'aider. Je ne sais pas ce que tu fais de ces tableaux...

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par d�faut
    C'est � utiliser dans une boucle for... o� i serait la variable incr�ment�e.

    edit : grill�

  6. #6
    Membre chevronn� Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par d�faut
    Merci de vos r�ponses
    Citation Envoy� par 3DArchi Voir le message
    Le i c'est � faire varier pour selon le nombre de tableaux que tu veux (dans mon exemple de 0 � 9); et taillei c'est la taille de chacun des sous-tableaux que tu souhaites allouer.

    Qu'il ne se passe rien � l'ex�cution, l�, je ne peux pas t'aider. Je ne sais pas ce que tu fais de ces tableaux...
    En fait je ne cherche � faire qu'un tableau � 2 dimensions dont la taille varie.
    Mon code ne passe toujours pas en ex�cution

  7. #7
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Citation Envoy� par Vince Voir le message
    Merci de vos r�ponses
    En fait je ne cherche � faire qu'un tableau � 2 dimensions dont la taille varie.
    Mon code ne passe toujours pas en ex�cution
    Peux-tu montrer le bout de code qui te pose des soucis?

Discussions similaires

  1. probl�me des tableaux dynamiques (tas)
    Par oussaki dans le forum C
    R�ponses: 7
    Dernier message: 26/12/2011, 11h25
  2. Probl�me de redimensionnement, tableaux dynamiques
    Par marco_fot_hxc dans le forum VBScript
    R�ponses: 9
    Dernier message: 07/05/2008, 09h52
  3. R�ponses: 6
    Dernier message: 20/02/2007, 17h00
  4. R�ponses: 11
    Dernier message: 06/01/2006, 20h51
  5. [D2005]Probl�me de tableaux dynamique
    Par Laurent Dardenne dans le forum Delphi .NET
    R�ponses: 8
    Dernier message: 26/07/2005, 11h56

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