社区讨论

out of range?怎么解决

P1308[NOIP 2011 普及组] 统计单词数参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi86269t
此快照首次捕获于
2025/11/21 09:13
4 个月前
此快照最后确认于
2025/11/21 09:13
4 个月前
查看原帖

蒟蒻求各位查错

运行显示out of range
CPP
#include<iostream>
#include<string>
using namespace std;
int main()
{
	string find1,pas;
	getline(cin,find1);
	getline(cin,pas);
	find1.insert(0,1,' ');
	pas.insert(0,1,' ');
	cout<<find1;
	int lf=find1.length(),lp=pas.length(),place,sum=0,place1;
	for(int i=0;i<lf;i++)
	if(find1[i]<'a'&&find1[i]>='A')
	find1[i]+=26;
	for(int i=0;i<lp;i++)
	if(pas[i]<'a'&&pas[i]>='A')
	pas[i]+=26;
	if(pas.find(find1)+1)
	{
	place1=pas.find(find1);
	pas.erase(place,lf+place);
	sum++; 
	} 
	else 
	{
		cout<<-1;
		return 0;
	}
	while(pas.find(find1)+1)
	{
	place=pas.find(find1);
	pas.erase(place,lf+place);
	sum++; 
	} 
	cout<<sum<<" "<<place1;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...