Pagini recente » Istoria paginii runda/delaceorashimulare | Cod sursa (job #307128) | Cod sursa (job #2580318) | Cod sursa (job #348210) | Cod sursa (job #2593697)
#include <stdio.h>
#include <string.h>
void search(char* pat, char* txt,FILE* g)
{
int M = strlen(pat);
int N = strlen(txt);
int cnt=0;
int p[100];
int k=0;
for (int i = 0; i <= N - M; i++)
{
int j;
for (j = 0; j < M; j++)
if (txt[i + j] != pat[j])
break;
if (j == M)
{
cnt++;
p[k]=i;
k++;
}
}
fprintf(g,"%d ",cnt);
fprintf(g,"\n");
for(int i=0; i<k; i++)
fprintf(g,"%d ",p[i]);
}
int main()
{
FILE* f=fopen("strmatch.in","r");
FILE* g=fopen("strmatch.out","w");
char pat[255];
fscanf(f,"%s",&pat);
char txt[255];
fscanf(f,"%s",&txt);
search(pat,txt,g);
return 0;
}