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 :

tableau a deux dimension


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut tableau a deux dimension
    bonjours,

    je vous expose mon petit problème :

    lorsque je créé un tableau a 2 dimensions je créé des ligne de taille variable et lorsque je remplit ce tableau, le programme me le remplit du meme nombre d'élément peut importe si tab[0]= new int[2] et tab[1]= new int[5]

    je vous laisse le code :

    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
     
    int** tab = new int*[4];
     
        tab[0] = new int[5];
        tab[1]=new int[2];
        tab[2]=new int[1];
        tab[3]=new int[4];
     
     
        for(int i=0;i<sizeof(tab);i++)
        {
            for(int j=0;j<sizeof(tab[j]);j++)
            {
                tab[i][j] = j+1;
                cout << tab[i][j];
            }
            cout<<endl;
        }

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    les conditions de tes boucles for sont fausses !!

    confusion entre taille du tableau et taille d'un élément du tableau.
    il y a plein de messages sur ce forum qui traitent des tableaux à 2 dimensions.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut
    bon j ai essayé de trouver une réponse dans le forum mais je ne peux pas utilisé std::vector.

    j'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int taille = sizeof(tab)/sizeof(int);
    int taille = sizeof(tab[i])/sizeof(int);
    mais cela ne marche pas.

    pourriez-vous m'éclairé ?

  4. #4
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    tab et tab[i] sont des pointeur donc sizeof(tab) et sizeof(tab[i]) te retourneront la taille d'un pointeur et non pas la taille du tableau.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut
    n'y a-t-il pas d'autres possibilités afin de connaitre le taille des ligne de la matrice autre que vector ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Il ne faut pas confondre compteur de ligne et taille de quelque-chose.
    Puisque vous avez créé les tableaux, vous connaissez le nombre d'éléments.
    Sizeof sert à connaitre la taille d'un élément, et pas le nombre d'éléments dans un tableau.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/03/2006, 17h25
  2. Un string dans un tableau de deux dimensions...
    Par FinalSpirit dans le forum C++
    Réponses: 5
    Dernier message: 15/01/2006, 14h29
  3. [PERL] Trier un tableau a deux dimensions
    Par piregwan dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 22h29
  4. Réponses: 6
    Dernier message: 26/11/2005, 19h55
  5. Réponses: 13
    Dernier message: 13/10/2005, 16h03

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