Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2624 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Créer une méthode qui renvoie un vector à deux dimensions.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer une méthode qui renvoie un vector à deux dimensions.

n°1330027
Thordax
Shop smart. Shop S-Mart !
Posté le 22-03-2006 à 11:09:10  profilanswer
 

Bonjour, je souhaite créer une méthode permettant de renvoyer une valeur et son association.
 
En l'occurence, je cherche à récupérer un vector à partir de cette méthode, qui liste des numéros de trames, ainsi que leur longueur associée.
 
Exemple :
 
N° de trame      Taille
       1                 5
       2                 4
       3                 7
 
quelqu'un aurait-il une idée ?
 
Merci beaucoup pour vos réponses ! ;)

mood
Publicité
Posté le 22-03-2006 à 11:09:10  profilanswer
 

n°1330029
Taz
bisounours-codeur
Posté le 22-03-2006 à 11:11:12  profilanswer
 

std::vector<int> tailles ou tailles[i] te donne la taille de la trame#i

n°1330033
Thordax
Shop smart. Shop S-Mart !
Posté le 22-03-2006 à 11:14:17  profilanswer
 

ah je crois que j'ai trouvé, il faut utiliser std::map pour les hachages ..

n°1330035
Taz
bisounours-codeur
Posté le 22-03-2006 à 11:15:32  profilanswer
 

bah t'as pas t'as pas du lire grand chose sur std::map. encore une fois, si t'es index sont numériques et contigus, alors un vector c'est bon.

n°1330037
_darkalt3_
Proctopathe
Posté le 22-03-2006 à 11:17:47  profilanswer
 

Taz a raison;
de plus, std::map autorise les doublons, ce que ne permet pas std::vector.

n°1330044
Taz
bisounours-codeur
Posté le 22-03-2006 à 11:22:13  profilanswer
 

ah non, pas de doublon sur la clef dans une map. dans une multimap, oui

n°1330057
Thordax
Shop smart. Shop S-Mart !
Posté le 22-03-2006 à 11:29:32  profilanswer
 

mais std::map<int cle, int valeur> ma_table, ca marcherait pas ?

n°1330067
_darkalt3_
Proctopathe
Posté le 22-03-2006 à 11:42:10  profilanswer
 

exact, l'ancienne clef est écrasée.

n°1330071
_darkalt3_
Proctopathe
Posté le 22-03-2006 à 11:44:27  profilanswer
 

c'est à dire que std:vector suffirait largement il semble :  
 
ton numéro de trame en index dans le vecteur, et la taille dans la valeur associée à l'index.
 
Après une map fonctionnera aussi, mais le vecteur semble plus indiqué, voilà tout.

n°1330078
Thordax
Shop smart. Shop S-Mart !
Posté le 22-03-2006 à 11:51:32  profilanswer
 

le truc c'est que je n'ai pas stocké le contenu de ma trame dans un vector ou dans quelconque tableau que ce soit, je connais par contre les deux parametres de taille et de numéro de trame ...

mood
Publicité
Posté le 22-03-2006 à 11:51:32  profilanswer
 

n°1330089
Taz
bisounours-codeur
Posté le 22-03-2006 à 12:01:21  profilanswer
 

et ?

n°1330188
chrisbk
-
Posté le 22-03-2006 à 13:59:18  profilanswer
 

_darkalt3_ a écrit :


Après une map fonctionnera aussi, mais le vecteur semble plus indiqué, voilà tout.


 
bin seulement si on est sur que c'est bien continu, contigu, et commencant a 0
La son exemple semble grosso modo concordé avec tout ca, mais c'est pas forcémeent sur

n°1330206
Thordax
Shop smart. Shop S-Mart !
Posté le 22-03-2006 à 14:17:18  profilanswer
 

et question noobesque : un vector a plus d'une dimension, on fait comment ? un vector dans un vector?

n°1330211
chrisbk
-
Posté le 22-03-2006 à 14:21:14  profilanswer
 

heuh bin ouais

n°1330218
_darkalt3_
Proctopathe
Posté le 22-03-2006 à 14:26:22  profilanswer
 

chrisbk a écrit :


_darkalt3_ a écrit :

Après une map fonctionnera aussi, mais le vecteur semble plus indiqué, voilà tout.

bin seulement si on est sur que c'est bien continu, contigu, et commencant a 0
La son exemple semble grosso modo concordé avec tout ca, mais c'est pas forcémeent sur


 
 [:aloy]

n°1330760
Thordax
Shop smart. Shop S-Mart !
Posté le 23-03-2006 à 09:09:53  profilanswer
 

probleme:  
 

Code :
  1. vector< vector<int> > table;
  2. table[0].push_back(2);
  3. cout << table[0][0];


plante, comme si table[0][0] était vide ...

n°1330787
Joel F
Real men use unique_ptr
Posté le 23-03-2006 à 09:48:27  profilanswer
 

Code :
  1. vector< vector<int> > table;
  2. vector<int> ligne;
  3. ligne.push_back(2);
  4. table.push_back(ligne);
  5. cout << table[0][0];


 
Y a moyen de faire plus propre néanmoins.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Créer une méthode qui renvoie un vector à deux dimensions.

 

Sujets relatifs
[INFO/PHP] créer sa boutique e- avec un livreCréer un site web pour des entreprises ?
Javascript : Mozilla et méthode click()Méthode pour écrire dans un fichier ofstream
Creer logicielement un jarcreer variable globale modifable par les sub
[c++] créer un prog qui s'ouvre avec macromedia Flash Player[RESOLU]Créer une Imputbox sur word avec VBA
problème avec la méthode post d'un formulaireCréer une sorte de popup
Plus de sujets relatifs à : Créer une méthode qui renvoie un vector à deux dimensions.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR