11.2.3节练习
来源:互联网 发布:js获取整数的最大数值 编辑:程序博客网 时间:2024/06/06 17:36
练习11.12 编写程序,读入string和int的序列,将每string和int存入一个pair中,保存在一个vector中。
#include <iostream>#include <vector>#include <utility>#include <string>using namespace std;int main(){pair<string, int> pair_si;vector<pair<string, int>> pair_vec;string s;int i;while (cin >> s >> i) {pair_si = { s,i };pair_vec.push_back(pair_si);}for (auto &c : pair_vec) {cout << c.first << " " << c.second << endl;}return 0;}
练习11.13 在上一题的程序中,至少有三种创建pair的方法。编写次程序的三个版本,分别采用不同的方法创建pair。解释你认为哪种形式最易于编写和理解,为什么?
#include <iostream>#include <vector>#include <string>#include <utility>using namespace std;int main(){pair<string, int> pair_si;vector<pair<string, int>> pair_vec;string s;int i;while (cin >> s >> i) {pair_si = { s,i }; //最简洁。pair_vec.push_back(pair_si);pair<string, int>pair_si(s, i); pair_vec.push_back(pair_si);pair_si = make_pair(s, i); // 这个排第一, 在大程序中 应该最清晰,指出返回pair类型。pair_vec.push_back(pair_si);pair_si.first = s;pair_si.second = i;pair_vec.push_back(pair_si);}for (auto &c : pair_vec) {cout << c.first << " " << c.second << endl;}return 0;}
练习11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名字和生日。
#include <iostream>#include <string>#include <map>#include <vector>#include <utility>using namespace std;int main(){map<string, vector<string>> name = {{ "Paul",{ "Pierce","Christ" } },{ "Green",{ "Jogre" } }};pair<string, int> child;vector<pair<string, int>> child_bir;string fir, sec;int bir;while (cin >> fir >> sec >> bir) {//利用Push_back往容器添加元素。name[fir].push_back(sec);// 将完整的名字及其生日保存到childchild = { fir + " " +sec, bir };child_bir.push_back(child);}for (auto &i : child_bir) {cout << i.first << ": " << i.second << endl;}return 0;}
0 0
- 11.2.3节练习
- 第十一章 11.2.3节练习
- 11.2.1节练习
- 11.2.2节练习
- 10.2.3节练习
- 10.3.3节练习
- 10.4.3节练习
- 1.4.3节练习
- 2.2.3节练习
- 2.3.3节练习
- 2.4.3节练习
- 2.5.3节练习
- 第九章 9.2.2节练习 & 9.2.3节练习
- 第九章 9.3.2节练习 & 9.3.3节练习
- 第十章 10.2.3节练习 & 10.3.1节练习
- 第十章 10.5.3节练习 & 10.6节练习
- 第十四章 14.9.2节练习 & 14.9.3节练习
- 第十五章 15.7.2节练习 & 15.7.3节练习
- 为什么匿名内部类和局部内部类只能访问final变量
- android 4.4编译问题求解
- Java concurrency – CountDownLatch Example
- oracle性能小测试
- Unexpected error occured: org.apache.activemq.broker.BrokerStoppedException
- 11.2.3节练习
- Java 写文件:FileOutputStream
- Java中的多线程处理-学习笔记
- 百度地图(一)—————让百度地图显示在自己的软件上
- linux中usb设备的probe注册全过程
- poj1101
- 测试类型介绍
- RT5350SDK与openwrt的区别及基于openwrt定制USB摄像机软件(1)
- html5中viewport浅析