C++:vector保存pair

问题

编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中.

C++.
image-2142

源代码


/*************************************************************************
> File Name: test.11.12.cpp
> Author: puruidong
> Mail: 1@w1520.com
> Created Time: 2014年07月01日
************************************************************************/

#include
#include
#include
using namespace std;

/**********************************

编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中.

***************************************************/

int main()
{
pair ps;
vector> 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:升级版本

[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
#include
#include
using namespace std;

/*********************************

编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中.
---
修改上述要求,使用至少三种方式创建pair.

***********************************************/

pair init1(string s,int a)
{
pair ps(s,a);
return ps;
}

pair init2(string sa,int as)
{
pair psa={sa,as};
return psa;
}

pair init3(string s,int a)
{
return make_pair(s,a);
}

int main()
{
vector> 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; }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据