Greedy Algorithm kullanarak 'String Matching' için bir program oluşturun.
Dize A:ababcab
Dize B:cab
//açgözlü algoritma kullanarak dizi eşleştirme programı 

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

// Verilen dizi ve kalıp arasındaki eşleşmeyi bulma işlevi 
bool stringMatching(char string[], char pattern[]) 
{ 
	//verilen stringin uzunluğunu hesapla 
	int n = strlen(string); 

	//verilen stringin uzunluğunu hesapla pattern 
	int m = strlen(pattern); 

	// string ve pattern indeksleri 
	int i = 0, j = 0; 

	// Eşleşmek için açgözlü döngü 
	while(i < n && j < m) { 
		if(dize[i] == model[j]) { 
			i++;
			j++; 
		} 
		// Dizide bir konum geri git 
		else { 
			i = i - j + 1; 
			j = 0; 
		}	 
	} 

	// Modelin bulunup bulunmadığını kontrol edin 
	if(j == m) 
		return true ; 
	
	return false; 
} 

// Sürücü kodu 
int main() 
{ 
	char string[] = "ababcab"; 
	char pattern[ ] = "cab"; 
	
	bool flag = stringMatching(string, pattern); 
	
	if (flag) 
		printf("Desen eşleşmeleri") ; 
	else
		printf("Kalıp eşleşmiyor"); 
		
	 return 0; 
}