PRM, Laboratorium nr 5, semestr letni 2014/2015
Tematyka: Tablice jako zmienne automatyczne, tablice dwuwymiarowe, tablice jako argumenty funkcji.
Zadanie 1.
- Utworzyć nowy projekt
l5z1
i do głównego pliku projektu
skopiować zawartość pliku źródłowego z1.c
- Zapoznać się z definicją funkcji
mystrlen
, która wyznacza długość
ciągu znaków. Dlaczego funkcja ta daje nieprawidłowy wynik?
- Zapoznać się z definicją funkcji
mystrcmp
, która zwraca 1, gdy dwa ciągi znaków są takie same,
zero w przeciwnym wypadku. Dlaczego funkcja ta daje nieprawidłowy wynik?
Zadanie 2.
- Utworzyć nowy projekt
l5z2
.
- Napisać program wczytujący macierz znaków 5x5.
- Uzupełnić program tak, aby możliwe było wyszukiwanie w kolumnach oraz wierszach
macierzy ciągu znaków, które wprowadzi użytkownik. W szczególności, dla macierzy o postaci:
ADAMA
LAMAB
GMUMI
SAMAR
YSITU
oraz ciągu znaków: DAMA
powinny zostać wypisane współrzędne pierwszej litery każdego wystąpienia:
wiersze: (0,1)
kolumny: (0,1)
Zadanie 3.
Grupa A
Napisać program, który oblicza iloczyn dwóch macierzy o ustalonych rozmiarach. Przygotować funkcję o następującej
sygnaturze:
void oblicz_iloczyn(double macierz_a[2][3], double macierz_b[3][2], double wynik[2][2]);
Iloczyn macierz_a*macierz_b
powinien być przekazany do argumentu wynik
.
Przykładowe wyniki działania programu:
Proszę podać wartości macierzy A:
1 2 3
4 5 6
Proszę podać wartości macierzy B:
6 3
5 2
4 1
Wynik:
28 10
73 28
Grupa B
Napisać program, który oblicza sumę dwóch macierzy kwadratowych oraz sumę składowych jednej z macierzy. Przygotować funkcję o następującej
sygnaturze:
void oblicz_sume(double macierz_a[2][2], double macierz_b[2][2], double wynik[2][2]);
(wynik sumowania macierz_a+macierz_b
powinna być przekazany do argumentu wynik
)
oraz funkcję:
double sumuj_skladowe(double macierz[2][2]);
która zwraca sumę składowych w przekazanej w argumencie macierzy. Na wyjście wypisać sumę składowych macierzy A.
Przykładowe wyniki działania programu:
Proszę podać wartości macierzy A:
1 2
3 4
Proszę podać wartości macierzy B:
4 3
2 1
A+B =
5 5
5 5
Suma składowych macierzy A = 10