Pagini recente » Cod sursa (job #945760) | Cod sursa (job #2806901) | Cod sursa (job #2187609) | Cod sursa (job #2698152) | Cod sursa (job #2245394)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *f = fopen("strmatch.in", "r");
FILE *g = fopen("strmatch.out", "w");
char *A;
char *B;
char *C;
A = (char*)malloc(2000000*sizeof(char));
B = (char*)malloc(2000000*sizeof(char));
C = (char*)malloc(2000000*sizeof(char));
int *x, k = 0, i;
x = (int*)malloc(1000*sizeof(int));
fscanf(f, "%s", A);
fscanf(f, "%s", B);
strcpy(C, strstr(B, A));
while (C != NULL){
x[k] = strlen(B) - strlen(C);
B[x[k] + 1] = ' ';
k++;
if (strstr(B, A) != NULL)
strcpy(C, strstr(B, A));
else
C = NULL;
}
fprintf(g, "%d\n", k);
for (i = 0; i < k; i++)
fprintf(g, "%d ", x[i]);
return 0;
}