Pagini recente » Borderou de evaluare (job #2191567) | Cod sursa (job #689303) | Cod sursa (job #1294904) | Cod sursa (job #1966214) | Cod sursa (job #2245423)
#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;
A = (char*)malloc(2000000*sizeof(char));
B = (char*)malloc(2000000*sizeof(char));
int *x, k = 0, i;
x = (int*)malloc(1000*sizeof(int));
fscanf(f, "%s", A);
fscanf(f, "%s", B);
while (k < 1000){
if (strstr(B, A) == NULL)
break;
x[k] = strlen(B) - strlen(strstr(B, A));
B[x[k] + 1] = ' ';
k++;
}
fprintf(g, "%d\n", k);
for (i = 0; i < k; i++)
fprintf(g, "%d ", x[i]);
free(A);
free(B);
return 0;
}