From MJanik
            (Difference between revisions)
                                                
            
			
			
			
			
		
		 | 
		 | 
		
| Line 12: | 
Line 12: | 
|   | ** łańcuch znaków o długości 20 znaków <b> nazwa </b>  |   | ** łańcuch znaków o długości 20 znaków <b> nazwa </b>  | 
|   | ** tablicę jednowymiarową <b>tab1</b> liczb całkowitych (tablica o zmiennej długości, powinna być alokowana dynamicznie)  |   | ** tablicę jednowymiarową <b>tab1</b> liczb całkowitych (tablica o zmiennej długości, powinna być alokowana dynamicznie)  | 
| - | ** tablicę dwuwymiarową <b>tab2</b> liczb całkowitych [3][3]  | + | ** tablicę dwuwymiarową <b>tab2</b> liczb całkowitych 3x3  | 
|   |  |   |  | 
|   | * W funkcji main stworzyć obiekt struktury Pokazowa o następujących parametrach: a = 5, b = 5.5, nazwa = "piatka", tablica jednowymiarowa: 5 liczb, każda to 5, tablica dwuwymiarowa wypełniona: liczbami od 1 do 9 (należy użyć odpowiednich pętli!). (0.5 p)  |   | * W funkcji main stworzyć obiekt struktury Pokazowa o następujących parametrach: a = 5, b = 5.5, nazwa = "piatka", tablica jednowymiarowa: 5 liczb, każda to 5, tablica dwuwymiarowa wypełniona: liczbami od 1 do 9 (należy użyć odpowiednich pętli!). (0.5 p)  | 
Revision as of 06:05, 14 May 2015
Zadania na laboratorium będą miały charakter powtórzeniowy. Należy dokładnie rozumieć pojęcie funkcji (wartości zwracanej przez funkcję, argumentów funkcji, wywołanie/użycie funkcji), struktur (pola składowe, obiekty typu danej struktury, rożnica między obiektem a wskaźnikiem na obiekt, ustawianie, odczytywanie, praca na składnikach sturktur), alokacji pamięci, wczytywania i zapisywania do plików.
Przypominam, że to ostatnie zajęcia przed Projektem!
Zadanie będzie składalo się z kolejnych części sprawdzających wiedzę dotyczącą poszczególnych elementów języka C.
-  Należy napisać strukturę Pokazowa zawierającą następujące składniki (1 p):
-  liczbę całkowitą  a  (przechowującą informację o długości tablicy tab1)
 -  liczbę zmiennoprzecinkową  b 
 -  łańcuch znaków o długości 20 znaków  nazwa 
 -  tablicę jednowymiarową tab1 liczb całkowitych (tablica o zmiennej długości, powinna być alokowana dynamicznie)
 -  tablicę dwuwymiarową tab2 liczb całkowitych 3x3
 
 
-  W funkcji main stworzyć obiekt struktury Pokazowa o następujących parametrach: a = 5, b = 5.5, nazwa = "piatka", tablica jednowymiarowa: 5 liczb, każda to 5, tablica dwuwymiarowa wypełniona: liczbami od 1 do 9 (należy użyć odpowiednich pętli!). (0.5 p)
 
-  Należy napisać zestaw funkcji służących do podstawowego zarządzania programem (1.5 p) .
-  Napisz funkcję Witaj nie przyjmującą ani nie zwracającą żadnych parametrów. Funkcja ma wypisywać na ekran: "Witaj w naszym pokazowym programie!". Należy wykorzystać napisaną funkcję w prorgamie.
 -  Napisz funkcję Wypisz przyjmującą wskaźnik na strukturę Pokazowa i wypisującą na ekran wszystkie elementy tej konkretnej struktury.  Należy wykorzystać napisaną funkcję w prorgamie.
 -  Napisz funkcję SumaAiB która przyjmuje wskaźnik na strukturę Pokazowa i zwraca (nie: wypisuje na ekran) sumę składników a i b.  Należy wykorzystać napisaną funkcję w prorgamie - obliczona wartość powinna zostać wypisana na ekranie.
 
 
-  Należy napisać funkcję która losuje wartość z przedziału (x do y) oraz wypełnia nimi obie tablice stuktury podanej jako argument: zarówno jedno jak i dwuwymiarową. Wartości x i y również powinny być podane jako argumenty funkcji. Należy przetestować w programie działanie funkcji. (1 p)
 
-  Wczytywanie i zapisywanie do pliku informacji o wszystkich polach struktury. Należy napisać dwie oddzielne funkcje zajmujące się zapisywaniem do pliku oraz wczytywaniem informacji. Należy samemu zaprojektować sposób w jaki sposób należy dane zapisywać. (2 p)
 
Działanie prorgamu
./lab10 
Witaj w naszym pokazowym programie!
a: 5, b: 5.500000, nazwa: piatka, tab1: 5 5 5 5 5 
tab2:
0 1 2 
3 4 5 
6 7 8 
Suma a i b: 10.500000
Losowanie!
a: 5, b: 5.500000, nazwa: piatka, tab1: 7 6 7 5 5 
tab2:
3 7 6 
5 3 7 
3 5 4 
------wczytana z pliku------
a: 5, b: 5.500000, nazwa: piatka, tab1: 7 6 7 5 5 
tab2:
3 7 6 
5 3 7 
3 5 4