Pagini recente » Borderou de evaluare (job #1836699) | Cod sursa (job #3199589) | Cod sursa (job #1047884) | Cod sursa (job #2264934) | Cod sursa (job #391360)
Cod sursa(job #391360)
#include <fstream>
using namespace std;
#define MAX 2000001
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
char a[MAX], b[MAX];
int main()
{
int nr = 0, i, j, ok, n, m;
int v[1000] = {0};
fin >> a;
fin.get();
fin >> b ;
n = strlen(a);
m = strlen(b);
for ( i = 0; i < m-n+1; i++)
{
ok = 1;
for ( j = 0; j < n; j++)
{
if ( b[i+j] != a[j] )
{
ok = 0;
break;
}
}
if ( ok )
{
nr++;
if ( nr <= 1000 )
v[nr] = i;
}
}
fout << nr << '\n';
if ( nr > 1000 )
nr = 1000;
for ( i = 1; i <= nr; i++)
fout << v[i] << ' ';
fin.close();
fout.close();
return 0;
}