Problem 1

Zaimplementuj algorytm KMP i wykorzystaj go do wyszukiwania wzorca w tekście. Swoje rozwiązanie przetestuj dla napisu "MEEMNEMME" i wzorca "ME".

Specyfikacja:

Dane:

  • wzorzec – ciąg znaków przechowujący szukany tekst

  • napis – ciąg znaków przechowujący przeszukiwany tekst

Wynik:

Program na wyjście standardowe wypisuje oddzielone spacjami wartości indeksów w tablicy napis, od których rozpoczynają się kolejne wystąpienia wzorca podanego w tablicy wzorzec.

Przykłady działania programu:

Dane:

  • napis = "AGHAAGAAHAA";

  • wzorzec = "HAA";

Wynik:

Linia 1. 2 8.

Dane:

  • napis = "ADAADAADAADA";

  • wzorzec = "DAA";

Wynik:

Linia 1. 1 4 7.
R1CMtHuFa0MiU
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Polecenie 1

Dodaj do swojego programu komentarze tak, żeby był zrozumiały dla osoby, która nie potrafi programować.

Polecenie 2

Porównaj swoje rozwiązanie z filmem.

RgPg2hxVhBAds
Film przedstawia etapy pisania programu w języku C++ wykorzystującego algorytm KMP do wyszukiwania wzorca w tekście.