All pastes #160717 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-09-04 17:13 UTC
rendered paste body
/* probably suboptimal */
int measureit(char *string, char *seq)
{
	int i;
	
	for(i = 0; *string && *seq; string++, i++)
	{
		if(*string == *seq)
		{
			*seq++;
			if(!*seq) return i + 1;
		}
	}
	return -1;
}

int findit(char *string, char *seq)
{
	int best = 0x7fffffff;
	int bestpos = -1;
	int i;
	
	for(i = 0; string[i]; i++)
	{
		int l = measureit(string + i, seq);
		if(l < best && l >= 0)
		{
			bestpos = i;
			best = l;
		}
	}
	return bestpos;
}

main()
{
	char buf[1024];
	char pattern[1024];
	
	printf("enter buffer: ");
	scanf("%s", buf);
	printf("enter pattern: ");
	scanf("%s", pattern);
	printf("smallest substring containing entire sequence is at pos %i\n", findit(buf, pattern));
}