Salve ragazzi avrei bisogno del vostro aiuto per risolvere questo programma che dovrebbe verificare se s2 è o no una sottostringa di s1
ci ho provato ho fatto il programma
non mi dà errore ma il programma si interrompe e non funziona
potreste aiutarmi
ecco il programma scritto in c++
#include<iostream>
#include<string>
using namespace std;
string sottostringa(string& , string& );
int main()
{
string s1;
string s2;
cout<<"Please enter two string:\n";
getline (cin,s1);
getline (cin,s2);
sottostringa(s1,s2);
cout<<s2<<" non è una sottostringa di "<<s1<<"\n";
cout<<s2<<" è sottostringa di "<<s1<<"\n";
return 0;
}
string sottostringa(string& s1, string& s2)
{
//calcola la lunghezza delle due stringhe
int l1=s1.length();
int l2=s2.length();
if(l2>l1 )
{
cout<<s2<<" non è una sottostringa di "<<s1;
}
else
{
for(int i=0;i<l1;i++)
{
string one=s1.substr(i,1);
if(s2==one)
{
cout<<s2<<" è sottostringa di "<<s1;
}
else
{
cout<<s2<<" non è sottostringa di "<<s1;
}
}
}
return 0 ;
}