Pagini recente » Borderou de evaluare (job #3021641) | Borderou de evaluare (job #1213832) | Borderou de evaluare (job #2275679) | Borderou de evaluare (job #334712) | Cod sursa (job #527167)
Cod sursa(job #527167)
#include <stdio.h>
int apps[1000];
int n;
char text[2000000];
char pattern[2000000];
int NaiveMatch(char *t, char *p, int *apps,int &nSize)
{
int i=0;
int j=0;
nSize=0;
while(t[i] != 0)
{
j=0;
while(t[i] == p[j] && p[j]!=0)
{
i++;
j++;
}
if(p[j] == 0)
{
//matching succeeded
apps[nSize] = i-j;
nSize++;
}
i = i-j;
i++;
}
return 0;
}
int main()
{
FILE *f,*g;
int i;
f = fopen("strmatch.in","r");
g = fopen("strmatch.out","w");
fscanf(f,"%s %s",pattern,text);
NaiveMatch(text,pattern,apps,n);
fprintf(g,"%d\n",n);
for(i=0;i<n;i++)
{
fprintf(g,"%d ",apps[i]);
}
fclose(f);
fclose(g);
return 0;
}