欢迎来到天天文库
浏览记录
ID:6051503
大小:157.11 KB
页数:18页
时间:2018-01-01
《c++primer(第4版)习题解答_第十一章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章泛型算法1.algorithm头文件定义了一个名为count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现的次数的统计结果。编写程序读取一系列int型数据,并将它们存储到vector对象中然后统计某个指定的值出现了多少次。//11.17_11.1_int_to_vector_count.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#includeusingnamespacestd;int_tmain(intar
2、gc,_TCHAR*argv[]){cout<<"tInputsomeintnumbers(ctrl+ztoend):t";vectoriVec;intiVal;while(cin>>iVal)iVec.push_back(iVal);cout<<"tInputanumtosearchintheiVec:";cin.clear();cin>>iVal;intiCnt=0;if(iCnt=count(iVec.begin(),iVec.end(),iVal)){cout<<"tThevalue"<3、imes."<#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){cout<<"tInputsomestring4、snumbers(ctrl+ztoend):t";liststrLst;stringstr;while(cin>>str)strLst.push_back(str);cout<<"tInputastringtosearchinthestrList:";cin.clear();cin>>str;size_tiCnt=0;if(iCnt=count(strLst.begin(),strLst.end(),str)){cout<<"tThestring'"<5、("pause");return0;}3.用accumulate统计vector容器对象中的元素之和。//11.19_11.3_accumulate_vector_int.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){cout<<"tInputsomeintnumbers(ctrl+ztoend6、):t";vectoriVec;intiVal;while(cin>>iVal){iVec.push_back(iVal);}cout<<"tInputaintnumforthefirstnum:";cin.clear();cin>>iVal;if(iVal=accumulate(iVec.begin(),iVec.end(),iVal)){cout<<"tThesumofallthemembersandiValis:"<类型的对象7、,则调用accumulate(v.begin(),v.end(),0)是否有错?如果有的话,错在哪里?没有错,accumulate函数必须满足第三个实参的类型与容器内的意思匹配,或者可以转化为第三个实参的类型。本题中double可以转化为int类型,但是会有较大误差。5.对于本节调用find_first_of的例程,如果不给it加1,将会如何。(1)如果存在同时出现在两个list中的名字,则进入while循环,死循环;(2)不存在同时出现在两个list中的名字,循环不会被执行。6.使用fill_n编写程序,将一系列
3、imes."<#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){cout<<"tInputsomestring
4、snumbers(ctrl+ztoend):t";liststrLst;stringstr;while(cin>>str)strLst.push_back(str);cout<<"tInputastringtosearchinthestrList:";cin.clear();cin>>str;size_tiCnt=0;if(iCnt=count(strLst.begin(),strLst.end(),str)){cout<<"tThestring'"<5、("pause");return0;}3.用accumulate统计vector容器对象中的元素之和。//11.19_11.3_accumulate_vector_int.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){cout<<"tInputsomeintnumbers(ctrl+ztoend6、):t";vectoriVec;intiVal;while(cin>>iVal){iVec.push_back(iVal);}cout<<"tInputaintnumforthefirstnum:";cin.clear();cin>>iVal;if(iVal=accumulate(iVec.begin(),iVec.end(),iVal)){cout<<"tThesumofallthemembersandiValis:"<类型的对象7、,则调用accumulate(v.begin(),v.end(),0)是否有错?如果有的话,错在哪里?没有错,accumulate函数必须满足第三个实参的类型与容器内的意思匹配,或者可以转化为第三个实参的类型。本题中double可以转化为int类型,但是会有较大误差。5.对于本节调用find_first_of的例程,如果不给it加1,将会如何。(1)如果存在同时出现在两个list中的名字,则进入while循环,死循环;(2)不存在同时出现在两个list中的名字,循环不会被执行。6.使用fill_n编写程序,将一系列
5、("pause");return0;}3.用accumulate统计vector容器对象中的元素之和。//11.19_11.3_accumulate_vector_int.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){cout<<"tInputsomeintnumbers(ctrl+ztoend
6、):t";vectoriVec;intiVal;while(cin>>iVal){iVec.push_back(iVal);}cout<<"tInputaintnumforthefirstnum:";cin.clear();cin>>iVal;if(iVal=accumulate(iVec.begin(),iVec.end(),iVal)){cout<<"tThesumofallthemembersandiValis:"<类型的对象
7、,则调用accumulate(v.begin(),v.end(),0)是否有错?如果有的话,错在哪里?没有错,accumulate函数必须满足第三个实参的类型与容器内的意思匹配,或者可以转化为第三个实参的类型。本题中double可以转化为int类型,但是会有较大误差。5.对于本节调用find_first_of的例程,如果不给it加1,将会如何。(1)如果存在同时出现在两个list中的名字,则进入while循环,死循环;(2)不存在同时出现在两个list中的名字,循环不会被执行。6.使用fill_n编写程序,将一系列
此文档下载收益归作者所有