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 :

Initialisation d'un vector a 3 dimensions


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut Initialisation d'un vector a 3 dimensions
    Bonjour,

    Je vous expose mon problème:
    J'aimerais créer un tableau d'entiers 3D en utilisant la classe vector, cependant je n'arrive pas a l'initialiser correctement.
    Je connais les 2 premières dimensions qui sont égales a 2 mais j'ai a priori aucune information de la dernière dimension.
    De plus j'aimerais initialise ce tableau avec uniquement des -1.

    Pourriez-vous m'expliquer comment faire ?
    Je vous remercie !

  2. #2
    Membre éprouvé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Par défaut
    Dans la doc il y a tout ce qu'il te faut par contre je ne comprend pas d'où tu sors tes coordonnés ? d'un vector ? ou d'un autre conteneur ?

    sinon pour initialiser un vector à la création :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vector<Type> nom (nb_case, valeur_par_default);

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut
    Merci Tooxx !

    Cependant quand j'utilise la commande pour initialiser mon vector :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vector<vector< vector<int> > > Tab(1,-1);
    J'ai une erreur de ce type:
    terminate called after throwing an instance of 'std::bad_alloc'
    what(): St9bad_alloc
    Aborted


    En fait ce que j'aimerais faire c'est que Tab soit une matrice 2x2 avec une profondeur variable sachant que j'aimerais fixer la profondeur a "0" case et remplir Tab avec des -1. Ceci dans l'optique d'utiliser la méthode push_back pour changer ma profondeur.

    Merci encore de ton aide.

  4. #4
    Membre éprouvé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Par défaut
    ouch un vector de vector de vector....

    Je pense que tu peux créer une classe Matrice tu auras ainsi un
    tu crées tes objets Matrice comme tu veux.
    et tu peux quand même faire des push_bach
    j’espère t'avoir aidé un minimum

    Jo'

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut
    Et oui un vector de vector de vector !

    Oui je pourrai créer une classe comme tu le dis mais le fait est que j'utilise ce triple vector une seule fois dans mon code donc je n'ai pas trop envie de me lancer la dedans....

    Il me suffirait uniquement de savoir comment écrire l'initialisation sachant que pour un vector de vector je n'ai pas de probleme

    Merci encore !

  6. #6
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Citation Envoyé par AirSounet Voir le message
    Et oui un vector de vector de vector !

    Il me suffirait uniquement de savoir comment écrire l'initialisation sachant que pour un vector de vector je n'ai pas de probleme

    Merci encore !
    Tu peux essayer ça : chez moi ça marche sans problème...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    vector<vector<vector<int> > > Tab(10);
     
        for (int i = 0; i < 10; ++i)
            for (int j = 0; j < 10; ++j)
                for (int k = 0; k < 10; ++k)
                    Tab[i][j][k] = -1;

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

Discussions similaires

  1. Initialisation d'un tableau de 2 dimensions
    Par Alaa-linux dans le forum C
    Réponses: 5
    Dernier message: 18/07/2013, 14h12
  2. initialisation d'un vector en attribut
    Par bl4cksky dans le forum Débuter
    Réponses: 3
    Dernier message: 22/06/2013, 11h04
  3. Initialisation d'un tableau de 2 dimensions de structures
    Par zzoumzzoum dans le forum Débuter
    Réponses: 3
    Dernier message: 27/05/2010, 12h58
  4. initialisation d'un vector d'objet
    Par ka123tn dans le forum Langage
    Réponses: 8
    Dernier message: 20/01/2010, 14h43
  5. retourner un vector a 2 dimensions par une fonction
    Par Psykotik dans le forum SL & STL
    Réponses: 7
    Dernier message: 18/11/2005, 17h45

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