Documente Academic
Documente Profesional
Documente Cultură
#include<string.h>
using namespace std;
/*2. Se citesc şirurile s1 şi s2.
a. să se precizeze dacă s2 este subşir al lui s1
b. să se precizeze de câte ori apare s2 în s1 şi poziţiile apariţiilor
c. să se elimine toate apariţile lui s1 în s2*/
int main()
{
//a
char *p, s1[20],s2[20];
cin.getline(s1,20);
cin.getline(s2,20);
p=strstr(s1,s2);
if(p!=NULL)
cout<<"s2 este subsir a lui s1";
else cout<<"s2 nu este subsir a lui s1";
//b.
cout<<endl;
int nr=0;
for(int i=0;i<=strlen(s1)-strlen(s2);i++)
{
int ok=1;
for(int j=0;ok&&j<strlen(s2);j++)
if(s1[i+j]!=s2[j])
ok=0;
if(ok)
{
cout<<i<<" ";
nr++;
}
}
cout<<endl<<nr;
//c.
while(p=strstr(s1,s2))
strcpy(p,p+strlen(s2));
cout<<endl<<s1;
return 0;
}