Kurs ANSI C z elementami C++ Lista zadań 6 16.11.2006

Transkrypt

Kurs ANSI C z elementami C++ Lista zadań 6 16.11.2006
Kurs ANSI C z elementami C++
Lista zadań 6
16.11.2006
(15/0) 1. Napisać definicje następujących trzech funkcji wykonujących operacje
na napisach:
int strncmp(s,t,n) - porównywanie tekstu z t z tekstem z s przy uwzględnieniu
co najwyżej n znaków.
char *strrchr(char *string, char character) - zwraca wskaźnik na ostatnie
wystąpienie litery character w tekście wskazywanym przez string. Jeśli litera
nie występuje zwracany jest NULL.
int strspn(char *s1,char *s2) - zwraca długość początkowej części tekstu
wskazywanego przez string1, która składa się tylko z znaków wchodzących w skład
string2.
W definicjach tych funkcji można używać tylko operacji na wskaźnikach (czyli nie
wolno korzystać z indeksowania tablic).
(15/10) 2. Napisz funkcję int ostwystap(char *wzor,char *napis), która zwraca
ostatnią pozycję występowania ciągu znaków wzor w tekście napis, lub -1 jeżeli
nie ma takiej pozycji. Następnie użyj jej w programie wypisującym wszystkie
wiersze (od momentu wystąpienia wzorca) ze standardowego wejścia, które
zawierają dany tekst. Szukany tekst powinien być parametrem wywołania programu.
Do przeglądania tablic znaków należy używać wskaźników.
(20/20) 3. 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
– nie odkryte pole
1-8 – ilość bomb w sąsiedztwie
.
- odkryte pole
*
- bomba

Podobne dokumenty