C++ OD PODSTAW DO MATURY
Słowa - zadanie maturalne z roku 2018
(rozszerzenie, stara formuła)Zadanie 3
Treść zadania
Anagram to słowo powstałe z przestawienia liter danego słowa, wykorzystujące wszystkie jego litery.
Przykład:
Anagramami słowa SLOMA są na przykład: MASLO, SLMAO, SOLMA, …
Podaj liczbę wierszy w pliku slowa.txt, w których występują pary słów takich, że pierwsze słowo jest anagramem drugiego. Wypisz te pary.
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.
Skoro anagramy zbudowane są dokładnie z tych samych znaków, można w obu badanych słowach posortować znaki, z których te słowa się składają. Jeżeli badane słowa są anagramami, po procedurze sortowania powinny być takie same.
W poniższym rozwiązaniu (Listing 1) została zdefiniowana funkcja "sortuj()", która korzystając z metody sortowania bąbelkowego zwraca posortowany ciąg znaków. Pamiętajmy, że jeśli funkcji jako argument zostaje dostarczona tablica, funkcja taka pracuje na oryginale tej tablicy, a nie na kopii, jak to jest w przypadku innego rodzaju zmiennych.
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)