Materiał uzupełniający do ćwiczen z przedmiotu: Język
Transkrypt
Materiał uzupełniający do ćwiczen z przedmiotu: Język
Materiał uzupełniający do ćwiczen z przedmiotu: Język programowania obiektowego - ćwiczenia na tablicach znaków - kontynuacja 22 kwietnia 2008 Program studenta ma realizować przetwarzanie tablic znakowych. Należy wykonać ćwiczenie bez użycia funkcji bibliotecznych (string.h, ctype.h) – operacje przetwarzania napisów i identyfikowania znaków wykonać na piechotę. Po implementacji tego programu warto przejrzeć informacje dotyczące funkcji i makr zawartych w bibliotekach identyfikowanych przez nagłówki sting.h i ctype.h. 1. int lwrstrcnt( char s[] ) Funkcja: Wyznacza liczbe malych liter w napisie s Parametry: char s[] – tablica zawierajaca napis Rezultat: Liczba malych liter w napisie s 2. int uprstrcnt( char s[] ) Funkcja: Wyznacza liczbe duzych liter w napisie s Parametry: char s[] – tablica zawierajaca napis Rezultat: Liczba duzych liter w napisie s 3. int dgtstrcnt( char s[] ) Funkcja: Wyznacza liczbe cyfr w napisie s Parametry: char s[] – tablica zawierajaca napis 1 Rezultat: Liczba cyfr w napisie s 4. int nalphastrcnt( char s[] ) Funkcja: Wyznacza liczbe liter i cyfr w napisie s Parametry: char s[] – tablica zawierajaca napis Rezultat: Liczba liter i cyfr w napisie s 5. int chrstrcnt( char c, char s[] ) Funkcja: Wyznacza liczbe wystapien znaku c w s Parametry: char c – znak poszukiwany w napisie char s[] – tablica zawierajaca napis Rezultat: Liczba wystapien znaku c w napisie s 6. int chrstrpos( char c, char s[] ) Funkcja: Wyznacza indeks (pozycje w napisie) pierwszego wystapienia znaku c w s Parametry: char c – znak poszukiwany w napisie char s[] – tablica zawierajaca napis Rezultat: Pozycja znaku w tablicy liczona od 0 lub -1 gdy znak nie znaleziony 7. int chrstrcnt( char c, char s[] ) Funkcja: Wyznacza indeks (pozycje w napisie) ostatniego wystapienia znaku c w s Parametry: char c – znak poszukiwany w napisie char s[] – tablica zawierajaca napis Rezultat: Pozycja znaku w tablicy liczona od 0 lub -1 gdy znak nie znaleziony 8. void change( char s[], char a, char b) Funkcja: Zamienia kazdy znak [a] na znak [b] w lancuchu s[] Parametry: char s[] – tablica zawierajaca napis Rezultat: 2 zmieniony lancuch 9. int strcmp( char s1[], char s2[]) Funkcja: Porównuje dwa łancuchy Parametry: char s1[],s2[] – tablice zawierajace porównywane napisy: s1 i s2 Rezultat: 0 jesli łańcuchy są różne, 1 jeśli są równe Wiedząc, że funkcja str len z użyciem wskaźników wyglądałaby następująco: int str len(char * s) { int i=0; while (*s != 0 \00 ) { s + +; i + +; } return i; } przerób wszystkie fukncje do obsługi łancuchów znaków i sprawdź ich działanie dla wskaźników. 1 Inne programy na tablice 1. Napisz algorytm określania rozpiętości danego zbioru (tablicy). Rozpiętością zbioru jest różnica między największą a najmniejszą wartością w zbiorze. 2. Napisz algorytm ustalania ilości liczb podzielnych przez 3 a niepodzielnych przez 2 w danej tablicy liczb naturalnych. 3