Informatyka - Podstawy Programowania w Języku C++
prow. Sławomir Czarnecki
Zadania na laboratorium nr. 5
Uwaga !
Na początku laboratorium, zademonstrowany zostanie sposób wywoływania funkcji
NEW(...) i DEL(...) dynamicznego alokowania i de-alokowania tablic jedno oraz
dwuwymiarowych (tzn. wektorów oraz macierzy) z biblioteki
newdel.h
, a także wyjaśniony
zostanie sposób dołączania własnych bibliotek do projektu.
1. Wprowadź z klawiatury wymiar wektora dim oraz rozmiary macierzy – liczbę wierszy row
i kolumn col. Zdefiniuj następnie dynamicznie wektor V[dim] oraz macierz M[row][col] typu
double
inicjalizując składowe wektora V i macierzy M liczbami losowymi z przedziału [0,9].
Wykorzystaj w tym celu funkcje NEW(...) z biblioteki
newdel.h
. Wyświetl następnie na
ekranie wszystkie składowe wektora V i macierzy M, wywołując odpowiednie funkcje d(...) z
biblioteki
newdel.h
oraz pisząc własną wersję kodu z użyciem funkcji cout<<. Zwolnij
zarezerwowaną dynamicznie na stercie pamięć wywołując funkcje DEL(...) z biblioteki
newdel.h
.
2. Zdefiniuj dynamicznie dwa wektory: a[3], b[3] typu
double
i zainicjalizuj ich składowe
dowolnymi liczbami (na przykład liczbami losowymi z pewnego przedziału domkniętego
[x,y], x < y). Oblicz i wyświetl na ekranie wartości trzech kolejnych iloczynów:
skalarnego
[ ] [ ] [ ] [ ] [ ] [ ]
0
0
1
1
2
2
a b
a
b
a
b
a
b
⋅ =
+
+
∈ ℝ
,
wektorowego
3
[1] [2]
[2] [1]
[2] [0]
[0] [2]
[0] [1]
[1] [0]
a
b
a
b
a b
a
b
a
b
a
b
a
b
−
× =
−
∈
−
ℝ
i tensorowego
[ ] [ ] [ ] [ ] [ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ] [ ] [ ] [ ] [ ]
3 3
0
0
0
1
0
2
1
0
1
1
1
2
2
0
2
1
2
2
a
b
a
b
a
b
a
b
a
b
a
b
a
b
M
a
b
a
b
a
b
×
⊗ =
∈
wektorów a i b. Zwolnij zarezerwowaną dynamicznie na stercie pamięć wywołując funkcje
DEL(...) z biblioteki
newdel.h
.
3. Zdefiniuj dynamicznie dwie macierze: A[2][3], B[3][4] typu
double
i zainicjalizuj ich
składowe dowolnymi liczbami. Wyświetl na ekranie A i B. Oblicz i wyświetl na ekranie
iloczyn AB tych macierzy. Zwolnij zarezerwowaną dynamicznie na stercie pamięć wywołując
funkcje DEL(...) z biblioteki
newdel.h
.