Pagini recente » Cod sursa (job #927364) | Cod sursa (job #1978560) | Cod sursa (job #2472681) | Cod sursa (job #915054) | Cod sursa (job #2526668)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int* match1(char* s1,char* s2)
{
int m=strlen(s1);
int n=strlen(s2);
int* poz=calloc(n,sizeof(int));
int k=0;
for(int i=0;i+m-1<n;i++)
{
int match=1;
for(int j=0;j<m;j++)
{
if(s2[i+j]!=s1[j])
{
match=0;break;
}
}
if(match)
poz[++k]=i;//gandeste te!
}
poz[0]=k;
return poz;
}
int main()
{
FILE *f,*g;
f=fopen("strmatch.in","r");
freopen("strmatch.out","w",stdout);
if(f==NULL)
puts("EROARE");
char* s1=calloc(2000001,1);
char* s2=calloc(2000001,1);
fscanf(f,"%s%s",s1,s2);
fclose(f);
int* poz=match1(s1,s2);
printf("%d\n",poz[0]);
for(int i=1;i<=poz[0] && i<1000;i++)
printf("%d ",poz[i]);
return 0;
}