copy(istream_iterator(cin),istream_iterator(),back_inserter(Digs))后无法输入整数!

fangrk 2003-03-22 02:06:23
vector<int> Digs;
cout<<"Input some ints.Input a character to end input."<<endl;
copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(Digs));
cout<<"Option:\n1.Less\n2.Great\nYour choice(1/2):";
int Option;
cin>>Option;//失败!

输入一系列的整数,遇到字符则结束,把这些整数存放到一个vector中。
应该如何操作才能输入Option?
...全文
213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangrk 2003-03-22
  • 打赏
  • 举报
回复
解决了,先clear后ignore

vector<int> Digs;
cout<<"Input some ints.Input a character to end input."<<endl;
copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(Digs));
cout<<"You entered "<<Digs.size()<<" numbers:"<<endl;
copy(Digs.begin(),Digs.end(),ostream_iterator<int>(cout," "));
cout<<endl;
cin.clear();
cin.ignore();
cout<<"Compare options:\n1.Less\n2.Greater\nYour choice(1/2):";
int Option;
cin>>Option;
chaisave 2003-03-22
  • 打赏
  • 举报
回复
我是在GNU/Linux上,你用的什么?试一下DevCpp带的gcc3.2如何?
$gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/3.2.3/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc i386-linux
Thread model: posix
gcc version 3.2.3 20030316 (Debian prerelease)

下面是我改的代码片断:
vector<int> v;
cout<<"Input some ints.Input a character to end input."<<endl;
copy(istream_iterator<int>(cin),
istream_iterator<int>(),
back_inserter(v));
copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
cin.clear();
cout << (long)cin.rdstate() << endl;
cout<<"\nOption:\n1.Less\n2.Great\nYour choice(1/2):";
int opt;
cin>> opt;
cout << "you choosed " << opt << endl;

输入
1 2 3
^D
显示
1 2 3 6
0

Option:
1.Less
2.Great
Your choice(1/2):输入1
you choosed 1

fangrk 2003-03-22
  • 打赏
  • 举报
回复
一样的表达方式,在Win98上面可以用Ctrl+Z表示输入结束,但是到了Win2000,Ctrl+Z就没有用了(中断了整个程序)。无论是Ctrl+Z还是输入一个非数字,都无法进行下面的输入。我在下面试过cin.clear(),但是看来不起作用。
chaisave 2003-03-22
  • 打赏
  • 举报
回复
首先,恐怕不能以"character"结束输入乐,
在Unices上得在输完数字后,得另起一行(打个回车),
再输个Ctrl-d,在Win32上对应的大概是Ctrl-Z吧(要试试)。
其次,在添好Digs后,cin的statebit会被置为(eofbit | failbit),
后面的操作就会乱套了,要cin.clear()一下。
不过,我觉得以非数字结束输入是没问题的,不知道为什么不行,非要EOT不可。
内容概要:本文系统研究了基于W-GAN(Wasserstein生成对抗网络)的光伏出力场景生成方法,并提供了完整的Python代码实现。该方法充分利用W-GAN在捕捉复杂数据分布方面的优势,能够生成具有高度真实性与时序一致性的光伏发电功率场景,有效解决了传统场景生成方法在处理非线性、非平稳光伏数据时存在的模式坍塌与分布偏差问题。研究内容涵盖网络架构设计、梯度惩罚机制引入以保障训练稳定性、损失函数优化及生成样本质量评估等关键环节,生成的场景可用于电力系统规划、运行调度、储能配置及风险评估等任务,尤其适用于高比例可再生能源接入背景下的不确定性建模需求。; 适合人群:具备一定Python编程能力、深度学习基础理论知识的研究生、科研人员,以及从事新能源发电预测、电力系统优化调度等相关领域的工程技术人员。; 使用场景及目标:①实现光伏出力不确定性建模,生成满足统计特性的典型与极端功率场景;②支撑含光伏的微电网、主动配电网的优化调度、可靠性分析与韧性评估;③作为深度学习在能源时序数据生成领域的一个典型案例,服务于教学演示与学术研究。; 阅读建议:建议结合所提供的Python代码进行动手实践,重点理解W-GAN中判别器(Critic)结构、梯度惩罚项(Gradient Penalty)的实现原理,并通过可视化手段对比原始数据与生成数据的分布特征,进一步可尝试将其与传统GAN、VAE或DDPM等生成模型在场景多样性、保真度方面进行横向比较。
代码转载自:https://pan.quark.cn/s/a4b39357ea24 **C#反编译工具dnSpy的详细说明** dnSpy是一款专门用于C#编程语言的强效反编译器,其具备广泛的功能,涵盖了反编译、调试以及代码编辑等多个方面。这款工具凭借其便捷的操作性和丰富的特性,广泛受到开发者和逆向工程从业者的青睐。本文将详细研究dnSpy的关键功能、运作机制以及其在软件开发中的实际应用。 dnSpy的关键功能之一是反编译。它能够将已编译的.NET程序集(例如DLL或EXE文件)还原为源代码形态,从而让开发者得以审视并掌握应用程序的内部构造。借助IL(中间语言)反编译技术,dnSpy能够生成与原始C#代码高度相似的代码,以便用户进行阅读和分析。不仅如此,dnSpy还兼容其他.NET语言,例如VB.NET和F#。 dnSpy的调试功能是其另一显著优势。它内含了一个功能强大的调试器,使用户可以在反编译后的代码中设置断点,检查并调整变量值,以及追踪代码的执行路径等。这对于故障排除、学习他人代码或进行安全研究都极具帮助。同时,dnSpy支持模块和程序集的热替换,即在调试期间可以即时更新代码,而无需重启应用程序。 另外,dnSpy提供了代码编辑功能,用户可以直接在反编译的代码上进行修改,并将这些更改保存回原始程序集。这种功能对于修正错误、优化代码或进行软件逆向工程研究都极为便利。 除了上述核心功能,dnSpy还拥有卓越的扩展性。它支持插件架构,允许开发者自定义并增加新的功能,如语法高亮显示、代码格式化工具等。这使得dnSpy能够根据用户的个性化需求进行定制,进一步提升了其灵活性和实用性。 在提供的压缩文件中,我们可以发现若干配置文件(例如dnSpy.exe.confi...

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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