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