PRM, Laboratorium nr 5, semestr letni 2014/2015


Tematyka: Tablice jako zmienne automatyczne, tablice dwuwymiarowe, tablice jako argumenty funkcji.

Zadanie 1.

  1. Utworzyć nowy projekt l5z1 i do głównego pliku projektu skopiować zawartość pliku źródłowego z1.c
  2. Zapoznać się z definicją funkcji mystrlen, która wyznacza długość ciągu znaków. Dlaczego funkcja ta daje nieprawidłowy wynik?
  3. 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.

  1. Utworzyć nowy projekt l5z2.
  2. Napisać program wczytujący macierz znaków 5x5.
  3. 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