Cod sursa(job #548639)
Utilizator | Data | 7 martie 2011 17:47:21 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<stdio.h>
#include<string.h>
int main()
{
char *sir = new char[2000000];
char *subsir = new char[2000000];
char *p;
FILE *f=fopen("strmatch.in","rt");
FILE *g=fopen("strmatch.out","wt");
fscanf(f,"%s %s",subsir,sir);
fclose(f);
int *poz = new int[1000000];
int i=0;
p=sir;
do{
p = strstr(p,subsir);
poz[i++]= p - sir;
}while(p!=NULL);
fprintf(g,"%i\n",i);
for(int j=0;j<i;j++)
fprintf(g,"%i ",poz[j]);
fclose(g);
//getch();
return 0;
}