2016-10-21 7 views
2

ベクトル内のマップに値とキーを印刷したいとします。マップの要素をベクトルの中にプリントする方法は?

Interentの地図の要素を印刷する方法を検索しましたが、結果は見つかりませんでした。それを行う方法?

以下は私のコードです。

#include <iostream> 
#include <string> 
#include <map> 

using namespace std; 
vector<map<string,int>> list; 
vector<map<string, int>>::iterator it; 

int N; 
int M; 

int main(void) { 
    cin >> N; 

    string s; 
    int num = 0; 

    for (int i = 0; i < N; ++i) { 
     scanf("%s,%d", s, &num); 
     map<string, int> product; 
     product.insert(pair<string, int>(s, num)); 
     list.push_back(product); 
    } 

    for (it = list.begin(); it != list.end(); ++it) { 
     //I don't know how to print the elements in the map. 
    } 
} 
+0

ベクトルの関連性とは何ですか?マップの要素をどのように印刷するかわからない場合は、マップ内にあるかどうかは関係ありません。 – juanchopanza

答えて

2

*itあまりにもそれらのイテレータの上にマップするので、ループが含まれています

for (it = list.begin(); it != list.end(); ++it) { 
    for (map<string, int>::iterator mapIt(it->begin()); mapIt != it->end(); ++mapIt) { 

     // output here 
     std::cout << mapIt->first << ", " << mapIt->second << std::endl; 
    } 
} 
関連する問題