Podstawy programowania v2 (2008) - Laboratorium

1

LISTA 5. DZIAŁANIA NA ŁAŃCUCHACH ZNAKOWYCH

1. Tablice tekstowe – operacje na znakach

Program 1.1 Napisz program, który wyświetli na ekranie kod znaku wprowadzonego z klawiatury. Ustal sygnał

zakończenia programu, np. (0-koniec).

Program 1.2 Napisz program zliczający częstość występowania wszystkich znaków w podanym tekście łącznie ze

znakami interpunkcyjnymi i przestankowymi oraz białymi znakami (spacja, tabulacja). Wyświetl listę znaków

począwszy od najczęściej występujących ze wskazaniem liczby wystąpień oraz liczbą wszystkich znaków. Do

wykonania całości zadania wykorzystaj metodę sortowania przez zliczanie.

Program 1.3 Napisz program z własnymi funkcjami, które zamieniają znaki małe na duże i duże na małe oraz

robiącą inwersję wielkości znaków – jednocześnie małe na duże i duże na małe. Sprawdź działanie funkcji dla

wczytywanego tekstu z klawiatury. Porównaj działanie własnych funkcji z funkcjami: toupper() i tolower().

Program 1.4 Napisz program, w którym zbudujesz funkcję obsługi menu, która reaguje na wprowadzanie

pierwszego znaku z klawiatury jako nazwy danej opcji w menu. Notuj i pamiętaj w tablicy znakowej kolejne

wybory 10 opcji. Jedną z opcji menu powinno być wyświetlenie historii działań przy użyciu dodatkowej funkcji.

Skonstruuj bufor kołowy w tej tablicy, tak aby nie przepisywać wartości poszczególnych znaków wyboru menu.

2. Operacje na tekstach

Program 2.1 Napisz program, który podzieli wczytane z klawiatury zdanie na pojedyncze wyrazy. Zlicz je i

wyświetl wynik. Nie kopiuj wyrazów - wykorzystaj tablicę na indeksy znaków początkowych dla danych

wyrazów w tablicy źródłowej.

Program 2.2 Rozbuduj program 2.1 dodając wyświetlanie pojedynczych wyrazów rozpoczynających się na

zadaną literę z klawiatury.

Program 2.3 Rozbuduj program 2.1 lub 2.2 i napisz program zliczający częstość występowania wszystkich

wyrazów w zadanym tekście. Wyświetl listę wyrazów począwszy od najczęściej występujących ze wskazaniem

liczby wystąpień oraz liczbą wszystkich wyrazów. Nie kopiuj wyrazów - do wykonania całości zadania

wykorzystaj tablicę przechowującą wskaźniki do poszczególnych wyrazów w tablicy źródłowej oraz pasującą

metodę sortowania. Przeanalizuj czym się różni wykorzystanie tablicy wskaźników na ciągi znakowe od tablicy

na indeksy w tablicy źródłowej.

Program 2.4. Rozbuduj program 2.3 dodając funkcję sortującą wyrazy w tablicy wskaźników, które wskazują

na wyrazy w tablicy źródłowej. Tablicę źródłową pozostaw bez zmian. Sortowanie wystarczy wykonać tylko

względem pierwszej litery wyrazu przy użyciu wybranego algorytmu.

Program 2.5 Napisz program interpretujący linię komend, w której dopuszczone będzie użycie opcji, np.

program –vxIz –i in.txt –o out.txt dla wariantów ze spacją pomiędzy opcją i wartością dla danej opcji oraz bez

spacji np. program –vx -Iz –iin.txt –oout.txt , a także większej liczby opcji zgrupowanych po jednym minusie.