c++的一个程序问题
#include<iostream>
#include<fstream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
//用于将单词长度排序的比较函数
bool isshorter(const string &s1, const string &s2)
{
return s1.size()<s2.size();
}
//测试给定string对象的长度是否与其边界相匹配
class BET_cls{
public:
BET_cls(string::size_type len1,string::size_type len2)
{
if(len1<len2)
{
minlen=len1;
maxlen=len2;
}
else{
minlen=len2;
maxlen=len1;
}
}
bool operator()(const string &s)
{
return s.size()>=minlen && s.size()<+maxlen;
}
private:
string::size_type minlen;
string::size_type maxlen;
};
//如果ctr不为1,返回word的复制版本
string make_plural (size_t ctr,const string &word,const string &ending)
{
return (ctr==1)?word:word+ending;
}
//main函数接受文件名为参数
int main(int argc,char **argv)
{
//检查命令行的个数
if(argc<2)
{
cerr<<"no input file!"<<endl;
return EXIT_FAILURE;
}
//打开文件
ifstream infile;
infile.open(argv[1]);
if(!infile)
{
cerr<<"can not open input file"<<endl;
return EXIT_FAILURE;;
}
vector<string> words;
string word;
while(infile>>word)
words.push_back(word);
//对输入排序以便去除重复单词
sort(words.begin(),words.end());
//使用unique对元素重新排序并返回一个迭代器
//表示无重复单词范围结束
//erase操作删除重复的单词
words.erase(unique(words.begin(),words.end()),words.end());
//计算输出长度在1到10之间的单词数量
vector<string>::size_type wc=count_if(words.begin(),words.end(),BET_cls(1,10));
cout<<wc<<" "<<make_plural(wc,"word","s")<<endl;
return 0;
}
请问这个程序如何运行??
#include<fstream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
//用于将单词长度排序的比较函数
bool isshorter(const string &s1, const string &s2)
{
return s1.size()<s2.size();
}
//测试给定string对象的长度是否与其边界相匹配
class BET_cls{
public:
BET_cls(string::size_type len1,string::size_type len2)
{
if(len1<len2)
{
minlen=len1;
maxlen=len2;
}
else{
minlen=len2;
maxlen=len1;
}
}
bool operator()(const string &s)
{
return s.size()>=minlen && s.size()<+maxlen;
}
private:
string::size_type minlen;
string::size_type maxlen;
};
//如果ctr不为1,返回word的复制版本
string make_plural (size_t ctr,const string &word,const string &ending)
{
return (ctr==1)?word:word+ending;
}
//main函数接受文件名为参数
int main(int argc,char **argv)
{
//检查命令行的个数
if(argc<2)
{
cerr<<"no input file!"<<endl;
return EXIT_FAILURE;
}
//打开文件
ifstream infile;
infile.open(argv[1]);
if(!infile)
{
cerr<<"can not open input file"<<endl;
return EXIT_FAILURE;;
}
vector<string> words;
string word;
while(infile>>word)
words.push_back(word);
//对输入排序以便去除重复单词
sort(words.begin(),words.end());
//使用unique对元素重新排序并返回一个迭代器
//表示无重复单词范围结束
//erase操作删除重复的单词
words.erase(unique(words.begin(),words.end()),words.end());
//计算输出长度在1到10之间的单词数量
vector<string>::size_type wc=count_if(words.begin(),words.end(),BET_cls(1,10));
cout<<wc<<" "<<make_plural(wc,"word","s")<<endl;
return 0;
}
请问这个程序如何运行??
...全文
相关推荐
解析VScode在Windows环境下c_cpp_properties.json文件配置问题(推荐)
二、c_cpp_properties.json文件的配置问题在Windows环境下,使用VScode编写C和C++程序时,经常会遇到头文件提示未配置好的错误问题。
Dev-cpp5.4.0及API帮助文档 2018年蓝桥杯C语言/c++
【Dev-Cpp5.4.0】是一款轻量级的C/C++集成开发环境,它为程序员提供了方便的代码编辑、编译、调试等一体化功能。
cpp代码-背包问题2
【压缩包子文件的文件名称列表】:main.cpp、README.txt- main.cpp:这是C++程序的主要入口点,通常包含程序的主函数(main())。在这里,它很可能是实现背包问题算法的代码。
Dev-Cpp 5.4.0编程软件C++下载C语言免费版
总的来说,Dev-Cpp 5.4.0是一个强大且易用的C/C++开发工具,无论是初学者还是经验丰富的程序员,都能从中受益。通过熟练掌握这款IDE,你将能更高效地编写、调试和管理你的C++项目。
Log4cpp使用样例Linux系统C++程序
这个"Log4cpp使用样例Linux系统C++程序"是一个实践教程,帮助开发者了解如何在Linux环境下集成和使用Log4cpp库。


