Kurs ANSI C z elementami C++ Lista zadań 10 17.12.2007

Transkrypt

Kurs ANSI C z elementami C++ Lista zadań 10 17.12.2007
Kurs ANSI C z elementami C++
Lista zadań 10
17.12.2007
1. (10 punktów)
Napisz program, który z podanego pliku tekstowego wypisze na standardowym
wyjściu wszystkie wiersze zawierające podany wzorzec tekstowy. Nazwa pliku
tekstowego powinna
być pierwszym parametrem wywołania programu, a wzorzec powinien być jego drugim
parametrem.
Znak zapytania występujący we wzorcu dopasowuje się do dowolnego znaku w pliku
(litery powinny być dopasowywane bez uwzględniania ich wielkości). Pozostałe
znaki dopasowują się tylko do siebie samych. Można założyć, że wiersze w pliku
są nie dłuższe niż 80 znaków.
Przykład: Wzorzec g8+?? pasuje do g8+10, G8+zz, itd., tzn. do dowolnego 5-cio
znakowego
ciągu zaczynającego się od g8+ lub G8+.
2. (20 punktów)
Zaimplementuj program symulujący słownik T9 telefonu komórkowego. Program
powinien korzystać z słownika zapisanego w zewnętrznym pliku tekstowym (możesz
użyć open-sourcowego słownika). Program jako parametr wejściowy powinien
przyjmować ciąg naciśniętych klawiszy telefonu kom (ciąg liczb), i wypisywać
możliwe do zbudowania słowa.
3. (20 punktów)
Zaimplementuj grę saper w konsoli. Rozmiar planszy, oraz ilość bomb
powinna być definiowana jako stałe w źródle programu.
Plansza w trakcie rozgrywki może wyglądać następująco:
XXX1.....
X321...11
X2...113X
X411.1X3X
XXX1.1121
1211.....
.........
111......
XX1......
Pozostały 3 nie zaminowane pola.
Podaj pozycję x,y pola do odkrycia.
Program powinien automatycznie odkrywać pola 0 (nie zawierające bomb w
sąsiedztwie). Poszczególne oznaczenia:
X –
1-8
. * -
nie odkryte pole
– ilość bomb w sąsiedztwie
odkryte pole
bomba