Bonjour,
Voici le problème! J'ai un std::map dont je souhaiterais extraire certaines valeurs. Sa clé principale est de la forme <i,j,k> tandis que la valeur qui lui est associée est de type booléenne.
Je souhaiterais extraire de ce std::map, tous les triplets <i,j, * > avec i,j constant.
Je souhaiterias extraire les triplets <1,3,*>. Je devrais donc obtenir la liste:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Exemple: ... <1,2,4>, true <1,3,2>, true <1,3,5>, false <1,3,12>, true <2,5,0>,true ...
2 (true), 5(false), 12(true). Pour simplifier le problème, je ne suis pas intéressé par les valeurs booléennes pour le moment.
Voici le code que j'ai tenté d'écrire!
Soit ça marche pas, je patauge complètement
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 struct triple_type{ int i; int j; int k;}; int i=1; int j=3; bool continue=true; std::vector<I> list; do { std::map<triple_type, bool, ...>::const_iterator iter = data_->find(triple_type(i,j,???); //incomplet!!! if(iter != data_->end()) list.push_back(iter->first.k); // we found it else continue = false; ///if (iter->first.i == i && iter->first.j == k) } while(continue);
Je vous remercie par avance.
Cordialement,
Rodrigue
Partager