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

Langage C++ Discussion :

Tableau (array) 2D


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Par défaut Tableau (array) 2D
    Bonjour,

    Je code un petit programme pour générer une liste aléatoire de caractère puis j'ai un problème avec mon tableau à 2 dimension de pointeurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    codeUsed = new int*[wordToGenerate]; 
     
    for(j = 0; j < wordToGenerate; j++){
     
            codeUsed[j] = new int[intStop];
    	for(m = 0; m < intStop; m++){
    		codeUsed[j][m] = -1;
    	}
     
    }
    Le problème avec ce code c'est que mon tableau ne contient pas le nombre de cellule que je veux avec -1 comme valeur de départ... Voici ce que contient le tableau si wordToGenerate = 10 et intStop = 5 :



    Pour les tableau 1 dimension tout va bien, je comprend, cependant les 2D c'est la première fois que j'essaie et ça ne fonctionne pas.

    Ce que j'aimerais c'est un tableau comme ceci

    tableau[0]=>{-1,-1,-1,-1,-1},
    tableau[1]=>{-1,-1,-1,-1,-1},
    etc.

  2. #2
    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
    Ne pas confondre ce que te dit le debugger et la réalité : le debugger, ne connaissant pas la taille du tableau (il ne se base pas sur le code, mais sur le type du symbole) n'affiche que le premier item de ton tableau.

    Dans les watch de Visual Studio, tu peux utiliser la syntaxe var,n (ou n est un nombre) pour afficher les n premières valeurs de var[0] à var[n-1].

    Ton code est tout à fait correct (enfin, celui que tu as montré), donc mon avis est que c'est un problème d'interprétation de l'affichage.
    [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.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Par défaut
    En fait selon moi, comme vous dites, mon code est "correct", cependant il m'arrive quelque chose d'étrange. Quand je lance mon script en mode console, lorsque j'essaie d'accéder à l'index 0 de usedCode[0], le script fige.

    La console fonctionne, elle ne consomme pas 100% du processeur (donc pas de boucle infinie) (environ 333k d'utilisation), l'indicateur de curseur clignote mais il ne se passe rien...

    Quand je lance le débogueur, ma boucle for(i=0;i<10;i++) se termine et n'avance plus dans le code

  4. #4
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Par défaut
    salut,

    et pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include <vector>
     
    std::vector<int> line (wordToGenerate, -1) ;
    std::vector<std::vector> > codeUsed (wordToGenerate, line) ;
    A moins que tu ais besoin d'un grand nombre de mots?
    Ou de perfs optimales?

    Enfin en pratique utiliser la librairie standard est un bon reflexe, et qui évite de faire du C là où on n'en a pas besoin.

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut
    Ton code semble juste, ton problème est bizarre. Peut être nous montrer tout le code ?

    Sinon, je ne peut que t'encourager d'écrire une classe Matrix qui encapsule un T*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    template<typename T>
    class Matrix
    {
      private :
        T*Data;
      public :
        T& operator()(int l, int c);
        //......
    };

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/04/2016, 00h52
  2. [Tableaux] Trier un tableau [array]
    Par clemsouz dans le forum Langage
    Réponses: 2
    Dernier message: 15/05/2006, 13h33
  3. [Tableaux] Problème de valeur dans un tableau (array)
    Par Flushovsky dans le forum Langage
    Réponses: 15
    Dernier message: 24/03/2006, 13h56
  4. Tableau(Array) sans taill
    Par krfa1 dans le forum ASP
    Réponses: 4
    Dernier message: 21/09/2005, 22h31
  5. tableau array
    Par laclac dans le forum Langage
    Réponses: 8
    Dernier message: 01/09/2005, 11h04

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