Pagini recente » Istoria paginii utilizator/al3xunmister | Istoria paginii utilizator/al3xunmister | Cod sursa (job #1505364) | Cod sursa (job #758450) | Cod sursa (job #1774064)
//Se dau doua siruri A si B formate din litere mici si mari ale alfabetului englez si din cifre. Se cere gasirea tuturor aparitiilor sirului A ca subsecventa a sirului B.
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main()
{
char x[2000000],y[2000000];
long int kx,ky,g,gasiri,pozitii[200];
ifstream a("strmatch.in");
ofstream b("strmatch.out");
a.getline(x,2000000);
a.getline(y,2000000);
ky=strlen(y);
kx=strlen(x);
cout<<kx<<' '<<ky;
gasiri=0;
for(int i=0;i<(ky-kx);i++)
{
g=0;
for(int j=0;j<kx;j++)
{
if(x[j]==y[i+j])
g+=1;
}
if(g==kx)
{
gasiri+=1;
pozitii[gasiri]=i;
}
}
b<<gasiri<<"\n";
for(int i=1;i<=gasiri;i++)
b<<pozitii[i]<<' ';
}