Pagini recente » Cod sursa (job #1729908) | Cod sursa (job #356286) | Cod sursa (job #1145916) | Cod sursa (job #2127608) | Cod sursa (job #2675185)
#include <iostream>
#include <fstream>
#include <strings.h>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
#define MAXLENGTH 2000001
/* Variable Declarations */
char text[MAXLENGTH], pattern[MAXLENGTH];
int t, p, k, ok, num;
int n, result[MAXLENGTH], v[MAXLENGTH], m;
/// Part b. Ignore for now
int lps[MAXLENGTH];
int main()
{
fin.getline(pattern, MAXLENGTH);
fin.getline(text, MAXLENGTH);
p = strlen(pattern);
t = strlen(text);
for (int i = 0; i < t; i++)
{
if(text[i] == pattern[0])
{
k = i + 1;
ok = 1;
for (int j = 1; j < p; j++)
{
if (text[k] != pattern[j])
{
ok = 0;
break;
}
}
if (ok == 1)
{
num++;
v[m++] = i;
}
}
}
fout << num;
fout << endl;
for (int i = 0; i < m; i++)
fout << v[i] << ' ';
return 0;
}