Cod sursa(job #1204141)

Utilizator mihaitza22Mihai Nan mihaitza22 Data 2 iulie 2014 08:41:20
Problema Potrivirea sirurilor Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	freopen("strmatch.in", "r", stdin);
	freopen("strmatch.out", "w", stdout);
	char *sir1, *sir2;
	char *aux;
	int nr, i;
	int v[1000];
	sir1 = (char *) malloc(2000000*sizeof(char));
	sir2 = (char *) malloc(2000000*sizeof(char));
	nr = 0;
	scanf("%s\n%s", sir1, sir2);
	aux = strstr(sir2, sir1);
	if(aux != NULL)
	{
		nr = 1;
		v[0] = strlen(sir2) - strlen(aux);
	}
	while(aux != NULL)
	{
		aux++;
		if(aux != NULL)
		{
			aux = strstr(aux, sir1);
			if(aux != NULL)
			{
				v[nr] = strlen(sir2) - strlen(aux);
				nr++;
			}
		}
	}
	printf("%d\n", nr);
	for(i=0;i<nr;i++)
	{
		printf("%d ", v[i]);
	}
	printf("\n");
	free(sir1);
	free(sir2);
	return 0;
}