C++ OD PODSTAW DO MATURY
Słowa - zadanie maturalne z roku 2018
(rozszerzenie, stara formuła)Zadanie 2
Treść zadania
Podaj liczbę wierszy z pliku slowa.txt zawierających pary słów, w których pierwsze słowo zawiera się w drugim słowie.
Przykład:
Słowo ADC zawiera się w słowie ASWADCF, jak też w słowie ADC.
Słowo ADC nie zawiera się w słowie ASWADFC.
Omówienie i przykładowe rozwiązanie
Spróbuj rozwiązać zadanie samodzielnie. Tylko w taki sposób możesz przygotować się do matury. Poniżej znajdziesz przykładowe rozwiązanie wraz z omówieniem. Zaglądnij tam dopiero po uzyskaniu przez Ciebie wyników. Porównaj Twoje rozwiązanie z przykładowym. Życzę, aby Twoje było lepsze.
Ułatwieniem w rozwiązaniu jest napisanie funkcji, która sprawdza, czy jedno słowo zawiera się w drugim. Działanie funkcji oparte jest na dwóch pętlach. Pierwsza pętla czyta słowo "a" od lewej strony. Druga pętla również czyta słowo od lewej strony, rozpoczyna czytanie jednak słowa od lewej strony od znaku, którego numer wyznacza wartość iteratora pierwszej pętli.
W linii 3, za każdym obrotem pierwszej pętli, zostaje utworzona zmienna "fragment", której zostaje w linii 5 przypisana wartość wyłonionej części napisu. Jeżeli ta wartość jest równa porównywanemu słowu (Listing 1, linia 6), działanie funkcji zostaje przerwane i zwrócona wartość "true", co jest informacją zwrotną, iż napis "a" zawiera się w napisie "b".
Przykładowy kod rozwiązania zadania znajduje się poniżej - Listing 2.
Klucz CKE
Zwróć uwagę na to, że inaczej rozwiązuje się zadanie z kluczem odpowiedzi, a inaczej, gdy nieznane są nam wyniki. Na maturze nie ma dostępu do klucza, dlatego zapoznanie się z kluczem odłóż na sam koniec Twoich ćwiczeń.
W nagłówku zdjęcie z Wenecji
Źródło: https://fshoq.com/free-photos/p/267/panorama-of-venice (publikowane na wolnych licencjach)