问题
编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中.
源代码
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 | /************************************************************************* > File Name: test.11.12.cpp > Author: puruidong > Mail: 1@w1520.com > Created Time: 2014年07月01日 ************************************************************************/ #include<iostream> #include<vector> #include<utility> using namespace std; /********************************** 编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中. ***************************************************/ int main() { pair<string,int> ps; vector<pair<string,int>> vec; string pa; int re; cout << "输入字符[第一个为字符串,第二个必须为数字]:" << endl; cin >> pa >> re; ps={ pa, re }; vec.push_back(ps); for(const auto &s:vec) { cout << s.first << "------" << s.second << endl; } return 0; } |
2:升级版本
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | [puruidong@localhost 11.2.3]$ cat test.11.13.cpp /************************************************************************* > File Name: test.11.13.cpp > Author: puruidong > Mail: 1@w1520.com > Created Time: 2014年07月01日 **********************/ #include<iostream> #include<utility> #include<vector> using namespace std; /********************************* 编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中. --- 修改上述要求,使用至少三种方式创建pair. ***********************************************/ pair<string,int> init1(string s,int a) { pair<string,int> ps(s,a); return ps; } pair<string,int> init2(string sa,int as) { pair<string,int> psa={sa,as}; return psa; } pair<string,int> init3(string s,int a) { return make_pair(s,a); } int main() { vector<pair<string,int>> vec; string pa; int a; cout << "调用第一个方法,请输入,第一个字符串,第二个数字:" << endl; cin >> pa >> a; vec.push_back(init1(pa,a)); cout << "调用第二个方法,请输入,第一个字符串,第二个数字:" << endl; cin >> pa >> a; vec.push_back(init2(pa,a)); cout << "调用第三个方法,请输入,第一个字符串,第二个数字:" << endl; cin >> pa >> a; vec.push_back(init3(pa,a)); for(const auto &s:vec) { cout << s.first << "######################" << s.second << endl; } return 0; } |