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++/CLI Discussion :

Copier vecteur - vecteur


Sujet :

C++/CLI

  1. #1
    Membre éclairé Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Par défaut Copier vecteur - vecteur
    Bonjour,
    Voici mon 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <iostream>
    #include <vector>
    using namespace std;
     
     
    vector<vector<int>> tranches_max(vector<vector<int>> x)
    {
    	vector<vector<int>> y;
    	y[0].swap(x[0]);
    	return y;
    }
    int main() {
     
    	vector<vector<int>> x=
    	{
        {2, 1, 0, 2},
        {0, 1, 0, 3},
        {1, 3, 0, 0},
        {0, 2, 2, 0},
       };
       for (vector< vector<int> >::size_type u = 0; u < x.size(); u++) 
       { for (vector<int>::size_type v = 0; v < x[u].size(); v++) 
    	{ cout << x[u][v] << " ";
        }
        cout <<endl;
       }
       vector<vector<int>> y= tranches_max(x);	
       for (vector< vector<int> >::size_type u = 0; u < y.size(); u++) 
       { for (vector<int>::size_type v = 0; v < y[u].size(); v++) 
    	{ cout << y[u][v] << " ";
       }
       cout <<endl;
        }
    	return 0;
    }
    Mon code ne génère pas d'erreur mais il se plante ..
    Je pense que la copie est la cause du problème ..
    Avez-vous une idée ?

    Merci.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu tentes d'accéder au premier élément d'un vecteur vide:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    vector<vector<int>> tranches_max(vector<vector<int>> x)
    {
    	vector<vector<int>> y;
    	y[0].swap(x[0]); il n'y a pas de y[0] ici.
    	return y;
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Par défaut
    Oui, je l'ai refait "y" avec une certaine taille initiale comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    vector<vector<int>> y(taille);
    for(int i(0);i<taille;i++)
    	{  y[i].swap(x[t[i]]);
    	}
    Et ça marche
    Merci.

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

Discussions similaires

  1. Copier Vecteur dans un Vecteur
    Par chercheur111 dans le forum Général Java
    Réponses: 9
    Dernier message: 10/07/2012, 15h20
  2. Copier un élement d'un Vecteur
    Par nailita dans le forum C++
    Réponses: 1
    Dernier message: 29/01/2010, 17h30
  3. Récuperer les coordonnées d'un vecteur
    Par kerzut dans le forum OpenGL
    Réponses: 5
    Dernier message: 15/04/2003, 11h51
  4. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 10h40
  5. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15

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