C++:vector保存pair

问题

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

C++.
image-2142

源代码

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;
}

发表回复

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

*

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