Vytvořte program pro "hledání řetězce" s využitím algoritmu Greedy.
Řetězec A: ababcab
Řetězec B: cab
// program pro vyhledávání řetězců pomocí algoritmu Greedy

#include<stdio.h>
#include<stdbool.h>

// Funkce pro nalezení shody mezi zadaným řetězcem a vzorem
bool stringMatching(char string[], char pattern[])
{
	// vypočítá délku zadaného řetězce
	int n = strlen(string);

	// vypočítá délku zadaného vzoru
	int m = strlen(pattern);

	// indexy řetězce a vzoru
	int i = 0, j = 0;

	// Greedy smyčka pro shodu
	while(i < n && j < m) {
		if(string[i] == pattern[j]) {
			i++;
			j++;
		}
		// Jdi o jednu pozici zpět v řetězci
		else {
			i = i - j + 1;
			j = 0;
		}
	}

	// Zkontroluje, zda byl vzor nalezen nebo ne
	if(j == m)
		return true;

	return false;
}

// Hlavní funkce
int main()
{
	char string[] = "ababcab";
	char pattern[] = "cab";

	bool flag = stringMatching(string, pattern);

	if (flag)
		printf("Vzor se shoduje");
	else
		printf("Vzor se neshoduje");

	return 0;
}