Cod sursa(job #1866275)

Utilizator FeliVan der Buf Feli Data 2 februarie 2017 20:14:36
Problema Potrivirea sirurilor Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char stringA[2000000];
	char stringB[2000000];
	int cate = 0;
	int unde[10000];
	int j,i;
    FILE *f,*g;
    f=fopen("strmatch.in","r");
    g=fopen("strmatch.out","w");
    if(f == NULL || g == NULL)
                         exit(1);
	fscanf(f,"%s", stringA);
	fscanf(f,"%s", stringB);

	for (i = 0; i < (int)strlen(stringB); i++)
	{
		if (stringA[0] == stringB[i])
		{
			j = i;
			while (j < (int)strlen(stringA) + i && stringA[j - i] == stringB[j])
			{
				j++;
			}
			if (j - i == strlen(stringA))
			{
				unde[cate] = i;
				cate++;
			}
		}
	}

	fprintf(g,"%d\n", cate);
	for (i = 0; i < cate; i++)
	{
		fprintf(g,"%d ", unde[i]);
	}
	fclose(f);
	fclose(g);
	return 0;
}