c++的一个程序问题

lty369963 2012-10-17 04:42:25
#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;
}

请问这个程序如何运行??
...全文
201 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lty369963 2012-10-18
  • 打赏
  • 举报
回复
明白了!
Linux-Torvalds 2012-10-17
  • 打赏
  • 举报
回复
命令行参数制定要输入的文件。
从文件里读取单词。
删除重复的单词。
统计长度是1~10的单词。
输出统计的结果(共有多少个)。
十八道胡同 2012-10-17
  • 打赏
  • 举报
回复
先编译出exe文件,然后

进入cmd命令行,到exe文件所在目录,敲命令
exe的名字 你的输入文件
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要求较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧