В vector < map< string, int > >
тип.
Когда я знаю индекс вектора, я просто хочу распечатать строку карты, но она не работает.
Ошибка возникает в
cout<< myVec.at(intTmp)->first<<"\n";
Я не уверен, как получить доступ к карте внутри вектора.
#include <iostream>
#include <string>
#include <map>
#include <vector>
using namespace std;
int N, M;
vector<map<string, int> > myVec;
bool isDigits(string& s){
for(int i=0; i<s.size(); ++i){
if(!isdigit(s[i])) return false;
}
return true;
}
int main()
{
cin >> N >> M;
for(int i=1; i<=N; ++i){
string tmp;
cin.clear();
getline(cin, tmp);
myVec.emplace_back(tmp, i);
}
for(int i=1; i<=M; ++i){
string tmp1;
cin.clear();
getline(cin, tmp1);
if(isDigits(tmp1)){
int intTmp = atoi(tmp1.c_str());
cout<< myVec.at(intTmp)->first<<"\n";
}
}
return 0;
}