
【C++ Primer的学习】
小巫技术博客
如果你想成功你不应该成为一个普通的可被随意替代的人你应该成为稀缺的不可替代的那类人
展开
-
C++ Peimer 第2章-变量和基本类型习题答案
第2章-变量和基本类型习题2.1 int、long和short类型之间有什么差别?——它们的存储空间大小不同,一般,short类型为半个机器字长,int类型为一个机器字长,而long类型为一个或两个机器字长(在32位机器中int类型和long类型通常字长是相同的。)原创 2011-09-24 13:06:39 · 1773 阅读 · 0 评论 -
C++ Primer 第11章 习题11.3
//11.3.cpp//用accumulate统计vector容器对象中的元素之和#include#include#includeusing namespace std;int main(){ vector ivec; int ival; int sum; //读入int型元素带vector对象中 cout<<"Enter some integers(Ctrl+z to原创 2012-03-01 17:07:27 · 914 阅读 · 0 评论 -
C++ Primer 第11章 习题11.9
//泛型算法中对容器元素从新排序的算法//11.9.cpp//读入文本文件//统计长度不小于4的单词,并输出输入序列中不重复的单词#include#include#include#include#includeusing namespace std;//用于将单词按长度排序的比较函数bool isShorter(const string &s1,const string &原创 2012-03-01 18:33:22 · 1245 阅读 · 0 评论 -
C++ Primer 第11章 习题11.1
//11.1.cpp//algorithm头文件定义一个名为count的函数//其功能类似于find。//这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。//编写程序读取一系列int型数据,并将它们存储到vector对象中//统计某个值出现了多少次#include#include#includeusing namespace std;int main()原创 2012-03-01 17:05:49 · 938 阅读 · 0 评论 -
C++ Primer 第11章 习题11.6
//11.6.cpp//使用fill_n编写程序//将一个int型序列的值设为0#include#include#includeusing namespace std;int main(){ vector ivec; ivec.resize(10); //使该vector容器包含10个元素 fill_n(ivec.begin(),ivec.size(),0); //输原创 2012-03-01 17:08:40 · 941 阅读 · 0 评论 -
C++ Primer 第4章 习题4.34
//4.34.cpp//读入一组string类型的数据,并将它们存储在vector中//接着,把该vector对象复制给一个字符指针数组。//为vector中的每个元素创建一个新的字符数组,//并把该vector元素的数据复制到相应的字符数组中//最后把指向该数组的指针插入字符指针数组#include#include#includeusing namespace std;in原创 2012-03-03 22:36:04 · 1123 阅读 · 0 评论 -
C++ Primer 第4章 习题4.35
//4.35.cpp//读入一组string类型的数据,并将它们存储在vector中//接着,把vector对象复制给一个字符指针数组//为vector中的每个元素创建一个新的字符数组,//并把该vector元素的数据复制到相应的字符数组中//然后把指向该数组的指针插入字符指针数组中//输出建立vector对象和数组的内容#include#include#includeusin原创 2012-03-03 23:00:00 · 1074 阅读 · 0 评论 -
C++ Primer 第11章 习题11.14
【解答】假设vector容器中ivec中的序列为1 2 3 4 100 5 100,将ivec复制给list容器ilst,并将ivec中值为100的元素替换为0值使用inserter实现:replace_copy(ivec.begin(),ivec.end(), inserter(ilst,ilst.begin()),100,0);在原创 2012-03-04 00:15:00 · 1065 阅读 · 0 评论 -
C++ Primer 第11章 习题11.16
//11.16.cpp//使用copy算法将一个文件的内容写到标准输出中#include#include#include#include#include#includeusing namespace std;int main(){ string fileName; //输入文件名 cout<<"Enter input file name:"<<endl; cin>>原创 2012-03-04 01:11:00 · 1063 阅读 · 0 评论 -
C++ Primer 第11章 习题11.29
//11.29.cpp//读入文本文件,存储在list容器中//将其中重复的单词去掉,并输出输入序列中不重复的单词#include#include#include#include#includeusing namespace std;//main函数接受文件名为参数int main(int argc,char **argv){ //检查命令行参数个数 if(argc<2原创 2012-03-04 20:30:49 · 1211 阅读 · 0 评论 -
C++ Primer 第11章 习题11.15
//11.15.cpp//使用unique_copy算法//将一个list对象中不重复的元素复制到一个空是vector对象中#include#include#include#include#includeusing namespace std;int main(){ int ia[]={1,2,3,4,100,5,100}; list ilst(ia,ia+7); ve原创 2012-03-04 00:29:17 · 1019 阅读 · 0 评论 -
C++ Primer 第11章 习题11.18
//11.18.cpp//使用istream_iterator对象从标准输入读入一系列整数//使用ostream_iterator对象将其中的奇数写到一个文件中//并在每个写入的值后面加一个空格//同样使用ostream_iterator对象将偶数写到第二个文件//每个写入的值都存放在单独的行中#include#include#include#includeusing name原创 2012-03-04 01:35:12 · 1102 阅读 · 0 评论 -
C++ Primer 第11章 习题11.20
//11.21.cpp//使用find在一个int型的list中寻找值为0的最后一个元素#include#include#include#includeusing namespace std;int main(){ int ia[]={0,1,2,3,4,5,6,7,8,9}; list ilst(ia,ia+10); list::reverse_iterator rite原创 2012-03-04 13:49:53 · 1055 阅读 · 0 评论 -
C++ Primer 第11章 习题11.19
//11.19.cpp//使用reverse_iterator对象以逆序输出vector容器对象的内容#include#include#includeusing namespace std;int main(){ int ia[]={0,1,2,3,4,5,6,7,8,9}; vector ivec(ia,ia+10); vector::reverse_iterator r_原创 2012-03-04 13:25:31 · 994 阅读 · 0 评论 -
C++ Primer 第11章 习题11.20
//11.20.cpp//使用普通的迭代器逆序输出vector对象中的内容#include#include#includeusing namespace std;int main(){ int ia[]={0,1,2,3,4,5,6,7,8,9}; vector ivec(ia,ia+10); vector::iterator iter; //普通迭代器 //逆序输出ve原创 2012-03-04 13:34:20 · 954 阅读 · 0 评论 -
C++ Primer 第10章 习题10.4
习题 10.4 举例说明list、vector、deque、map以及set类型分别适用的情况。list类型适用于需要在容器的中间位置插入和删除元素的情况。例如:以无序方式读入一系列学生数据,并按顺序存储。vector适用于需要随机访问元素的情况。例如:在一系列人员当中1~n,访问第x个人的信息。deque适用于需要在容器的尾部或首部进行插入和删除操作的情况下。例如:对服务窗口进行管理原创 2012-02-19 13:41:15 · 1096 阅读 · 0 评论 -
C++ Primer 第10章 pair类型
//10.2.cpp//至少使用三种方法创建pair对象。//编写三个版本的程序,分别采用不同的方法来创建pair对象//方法1:在定义pair对象时提供初始化式来创建pair对象#include#include#include#includeusing namespace std;int main(){ pair sipr; string str; int ival原创 2012-02-19 11:23:49 · 2078 阅读 · 0 评论 -
C++ Primer 第3章 标准库类型习题+答案
第3章 标准库类型习题习题3.1 有适当的Using声明,而不用std::前缀,访问标准库中名字的方法,重新编写2.3节的程序,计算一给定数的给定次幂的结果。代码如下://程序清单#includeusing std::cin;using std::cout原创 2011-09-25 16:43:24 · 1987 阅读 · 1 评论 -
C++ Primer 第10章 习题 10.19
//10.19.cpp//定义一个map对象为,其元素的键是家族姓氏,//而值则是vector对象,该vector对象存储pair类型的对象//pair对象记录每个孩子的名字和生日//进行基于家族姓氏的查询,输出该家族所有孩子的名字和生日#include#include#include#include#includeusing namespace std;int main(原创 2012-02-24 12:14:19 · 1156 阅读 · 0 评论 -
C++ Primer 第10章 习题 10.18
//10-18.cpp//定义一个map对象,其元素的键是家族姓氏,//而值则是存储该家族孩子名字的vector对象。//进行基于家族姓氏的查询,输出该家族的所有孩子的名字#include#include#include#includeusing namespace std;int main(){ map > children; string surname,childN原创 2012-02-23 20:25:46 · 1188 阅读 · 0 评论 -
C++ Primer 第10章 习题10.38
//10.28.cpp//建立作者及其作品的multimap容器//以下的格式按姓名首字母的顺序输出作者及其作品://Author Names Beginning with 'A'//Author,book,book,.......//Author Names Beginning with 'B'//...#include#include#includeusing namesp原创 2012-02-25 20:09:29 · 1131 阅读 · 0 评论 -
C++ Primer 第10章 习题10.24
//10.24.cpp//建立一个单词排除集//用于识别以's'借位、但这个结尾的's',又不能删除的单词//使用这个排除集删除输入单词尾部的's',生成该单词的非复数版本//如果输入的是排除集中的单词,则保持该单词不变#include#include#includeusing namespace std;int main(){ set excluded; //建立单词原创 2012-02-25 14:20:17 · 1291 阅读 · 0 评论 -
C++ Primer 第10章 习题10.27
//10.27.cpp//建立作者及其作品对multimap容器//使用equal_range函数获取迭代器,然后删除一段范围内的元素//当所寻找的元素不存在时,程序依然能正确执行#include#include#includeusing namespace std;int main(){ multimap authors; string author,work,searc原创 2012-02-25 19:41:45 · 1066 阅读 · 0 评论 -
C++ Primer 第9章 习题9.43
//9.43.cpp//使用stack对象处理带圆括号的表达式。遇到左圆括号时,将其标记下来。//然后在遇到右圆括号时,弹出stack对象中这两边括号之间的元素(包括左圆括号)//接着在stack对象中压入一个值,用以表明这个用一对圆括号括起来的表达式已经被替换。#include#include#includeusing namespace std;int main(){原创 2012-02-18 20:17:14 · 1753 阅读 · 1 评论 -
C++ Primer 第9章 习题9.30
//9.30.cpp//编写程序研究标准库为vector对象提供的内存分配策略#include#includeusing namespace std;int main(){ vector ivec; //空vector容器的size为0,标准库中的capacity也为0 cout<< "ivec:size: "<<ivec.size() << " capacity: "<原创 2012-02-17 13:37:09 · 1255 阅读 · 2 评论 -
C++ Primer 第9章 习题9.32
9.32 解释下面程序的实现的功能:vector svec;svec.reserve(1024);string text_word;while(cin>>text_word) sevc.push_back(text_word);svec.resize(svec.size()+svec.size()/2);如果该程序读入了256个单词,在调整大小后,该原创 2012-02-17 14:23:22 · 1287 阅读 · 0 评论 -
C++ Primer 第9章 习题9.41
//已知有如下string对象/* string generic1("Dear Ms Daisy:"); string generic2("MrsMsMissPeople");编写程序实现下面函数string greet(string form,string lastname,string title, string::size_type pos,int length);该函数使用原创 2012-02-18 19:04:14 · 1300 阅读 · 0 评论 -
C++ Primer 第10章 习题10.23
//10.23.cpp//编写程序将被排除的单词存储在vector对象中,而不是存储在set对象中//函数restricted_wc,根据形参指定文件建立单词排除集//将被排除的单词存储在vector对象中,//并从标准输入设备读入文本,对不在排除集中的单词进行出现次数统计//主函数例示restricted_wc函数的使用#include#include#include#incl原创 2012-02-25 13:58:26 · 1353 阅读 · 0 评论 -
C++ Primer 第10章 习题10.25
//10.25.cpp//定义一个vector容器,存储在未来6个月里要阅读的书的名字 //定义一个set,用于记录已经看过的书名。//本程序支持从vector中选择一本没有读过而现在要读的书。//并且支持从已读数目的set中删除书的记录//在虚拟的6个月后,输出已读和还没有读的书目#include#include#include#include#include#includ原创 2012-02-25 15:23:16 · 1327 阅读 · 0 评论 -
C++ Primer 第10章 习题10.26
//10.26.cpp//建立作者及其作品的multimap容器。//使用find函数在multimap中查找元素//并调用erase将其删除。//当所寻找的元素不存在时,确保你的程序依然能正确执行#include#include#includeusing namespace std;int main(){ multimap authors; string author,原创 2012-02-25 16:31:28 · 1201 阅读 · 0 评论 -
C++ Primer 第11章 习题11.22
//11.22.cpp//对于一个存储了10个元素的vector对象,//将其中的3~7个位置上的元素以逆序复制给list对象#include#include#include#include#includeusing namespace std;int main(){ int ia[]={1,2,3,4,5,6,7,8,9,10}; vector ivec(ia,ia+1原创 2012-03-04 14:05:21 · 1098 阅读 · 0 评论