问题描述
- c++实现字符串的查找与替换 大神看看错哪了
-
#include
#include
using namespace std;
int main()
{
int n,m;
int i,j=0;
int kmp(string a,string b,string c);
string *model;
string *pater;
string *rep;
cin>>n>>m;
model=new string[n+1];
pater=new string[m+1];
rep=new string[m+];
for(i=0;i
{
cin>>model[i];
}
for(i=0;i
{
cin>>pater[i];
cin>>rep[i];
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
kmp(model[j],pater[i],rep[i]);
}
}
for(i=0;i<n;i++)
{
cout<<model[i]<<endl;
}
delete []model;
delete []pater;
delete []rep;
return 0;
}
int kmp(string a,string b,string c)
{
size_t pos=a.find(b);
while (pos != string::npos)
{
a.replace(pos,b.length(),c);
}
return 0;
}
解决方案
解决方案二:
n要为n+1,希望能帮到你
解决方案三:
代码不是很全,而且你用的是模板,的自己注意是否理解他们的用法
解决方案四:
kmp函数的返回值给谁。。。。你把它设置成void试试,我也是新手。。。
时间: 2024-11-17 02:37:42