(C++)count函数返回值不是int的吗?
#include<iostream>#include<fstream>#include<string>#include<vector>#include<list>#inc...
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<list>
#include<deque>
#include<algorithm>
#include<stack>
#include<queue>
#include<utility>
#include <sstream>
#include<map>
#include<set>
using namespace std;
main()
{
int kj;
vector<int> gg;
cout<<"please enter :"<<endl;
cin>>kj;
while(kj!=0)
{
gg.push_back(kj);
cin>>kj;
}
cout<<"要统计的:"<<endl;
int yy;
cin>>yy;
int kl=gg.count(yy);//出错了
cout<<"共出现了:"<<kl<<"次!"<<endl;
return 0;
}
//为什么会出错的?
怎么没有啊?count和find是齐名的嘛,count统计出现次数,find查找对像位置
-------------------------------------------------
题目要求:
algorithm头文件定义了一个名为count的函数,
其功能类似于find。这个函数使用一对送代器和一个值做参数,
返回这个值出现次数的统计结果。编写程序读取一系列int型数据,
并将他们储存到vector对象中,然后统计某个指定的值出现多少次.
---------------------------------------------
出自C++Primer中文版(第4版)习题11。1
难道是我误会题意了?? 展开
#include<fstream>
#include<string>
#include<vector>
#include<list>
#include<deque>
#include<algorithm>
#include<stack>
#include<queue>
#include<utility>
#include <sstream>
#include<map>
#include<set>
using namespace std;
main()
{
int kj;
vector<int> gg;
cout<<"please enter :"<<endl;
cin>>kj;
while(kj!=0)
{
gg.push_back(kj);
cin>>kj;
}
cout<<"要统计的:"<<endl;
int yy;
cin>>yy;
int kl=gg.count(yy);//出错了
cout<<"共出现了:"<<kl<<"次!"<<endl;
return 0;
}
//为什么会出错的?
怎么没有啊?count和find是齐名的嘛,count统计出现次数,find查找对像位置
-------------------------------------------------
题目要求:
algorithm头文件定义了一个名为count的函数,
其功能类似于find。这个函数使用一对送代器和一个值做参数,
返回这个值出现次数的统计结果。编写程序读取一系列int型数据,
并将他们储存到vector对象中,然后统计某个指定的值出现多少次.
---------------------------------------------
出自C++Primer中文版(第4版)习题11。1
难道是我误会题意了?? 展开
4个回答
展开全部
注意容器和算法的区别,vector是容器,它里面是没有count成员函数的,而你所说的count是stl的一个通用算法,和容器vector没什么关系,任何容器都可以使用count的,你应该写成:
int kl = count(gg.begin(),gg.end(),yy);
就对了。
不是说了么,algorithm头文件定义了一个名为count的函数,只是一个通用函数而已,并没说它和vector容器有什么联系啊,把函数和vector联系在一起的是迭代器。你参考find的用法就知道了。stl中有三种东西,容器,算法,还有联系他们的迭代器,别混了。
int kl = count(gg.begin(),gg.end(),yy);
就对了。
不是说了么,algorithm头文件定义了一个名为count的函数,只是一个通用函数而已,并没说它和vector容器有什么联系啊,把函数和vector联系在一起的是迭代器。你参考find的用法就知道了。stl中有三种东西,容器,算法,还有联系他们的迭代器,别混了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的是哪个版本的 std ?
目前为止,反正我没发现 vector 有 count 函数。也没有类似统计出现次数的方法。
目前为止,反正我没发现 vector 有 count 函数。也没有类似统计出现次数的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有这个函数吧,向量里面用的是size函数
nt kl=gg.size();
nt kl=gg.size();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、这个要根据具体的函数来看,如果函数申明是int类型,那么返回值一定是int类型。如果不是,那么有可能是int有可能是其他类型。因为系统缺省值默认为int类型。
2、一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用,所以一般把函数名变量称为返回值。缺省值:计算机软件系统要求用户输入某些值而用户未给定时,系统自动赋予的事先设定的数值。函数返回值类型缺省int型就是如果程序员没定义函数返回值类型,则编译器将其默认为int型。
2、一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用,所以一般把函数名变量称为返回值。缺省值:计算机软件系统要求用户输入某些值而用户未给定时,系统自动赋予的事先设定的数值。函数返回值类型缺省int型就是如果程序员没定义函数返回值类型,则编译器将其默认为int型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |