C++ primer 第五版 中文版 练习 11.31
2016-03-02 12:24
405 查看
C++ primer 第五版 中文版 练习 11.31
题目:编写程序,定义一个作者及其作品的multimap 。使用find 在 multimap 中查找一个元素并用erase 删除它。确保你的程序在元素不在map中时也能正常运行。
答:
[cpp] view
plain copy
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
multimap<string, string> mumap = { {"ben","think in C++"},{ "rock", "C++ Primer" }, { "rock", "the C program" }, { "li", "hackers" }, { "li", "C++ primer plus" } };
string keyword;
cout << "请输入要删除的关键字:";
cin >> keyword;
auto cnt = mumap.count(keyword);
if (cnt == 0)
{
cout << "要删除的关键字" << keyword << "不在mumpa中" << endl;
}
else
{
while (cnt)
{
auto iter = mumap.find(keyword);
mumap.erase(iter);
--cnt;
}
cout << "删除成功,删除后的mumap内的内容为:" << endl;
for (const auto &w : mumap)
cout << w.first << " " << w.second << endl;
}
return 0;
}
题目:编写程序,定义一个作者及其作品的multimap 。使用find 在 multimap 中查找一个元素并用erase 删除它。确保你的程序在元素不在map中时也能正常运行。
答:
[cpp] view
plain copy
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
multimap<string, string> mumap = { {"ben","think in C++"},{ "rock", "C++ Primer" }, { "rock", "the C program" }, { "li", "hackers" }, { "li", "C++ primer plus" } };
string keyword;
cout << "请输入要删除的关键字:";
cin >> keyword;
auto cnt = mumap.count(keyword);
if (cnt == 0)
{
cout << "要删除的关键字" << keyword << "不在mumpa中" << endl;
}
else
{
while (cnt)
{
auto iter = mumap.find(keyword);
mumap.erase(iter);
--cnt;
}
cout << "删除成功,删除后的mumap内的内容为:" << endl;
for (const auto &w : mumap)
cout << w.first << " " << w.second << endl;
}
return 0;
}
相关文章推荐
- C++ const
- C语言char单字符、字符串、字符数组(二)
- C++中顶层const和底层const
- C语言中测试某段代码效率
- c语言:递归求学生年龄问题
- 【C++】const 常引用的用法
- C++ 中const
- C++primer 第四版部分习题的解答
- c++编译 (.obj, .lib, .dll, .exe的关系(附:lib和DLL的区别))
- C/C++——读入一系列由空白分割的(名字,值)对,其中每个名字是由空白分隔开的一个单词,值是一个整数或者一个浮点值, 计算并打印出对应于每个名字的所有值之和与平均值..
- c++ 思考
- c语言:用函数的嵌套调用,找4个整数中最大的数。(递推)
- 1:编写虚幻引擎中的UC和C++代码
- c语言之数据类型长度
- c++ 访问父类方法
- 小型C/C++项目的makefile编写
- C++文件读写详解(ofstream,ifstream,fstream)
- 浅谈C++数组与指针(一维)
- c++的几种典型数据类型
- 卡马克:用C++进行函数式编程