Inf Lab06, Semestr 2, INFORMATYKA I, infa
[ Pobierz całość w formacie PDF ]
Informatyka - Podstawy Programowania w J
ę
zyku C++
Kierownik przedmiotu: Sławomir Czarnecki
prow. Rafał Michalczyk / Zbigniew Trybocki
Zadania na laboratorium nr. 6 dla grupy 4
1.
Zdefiniuj dwa wektory
a
[3],
b
[3]. Składowymi wektorów niech b
ę
d
ą
liczby losowe z
przedziału [-10,10]. Wy
ś
wietl na ekranie składowe obydwu wektorów.
Oblicz i wy
ś
wietl na ekranie warto
ś
ci trzech kolejnych iloczynów:
a)
Skalarnego:
a
×
b
=
a
[
0
]
b
[
0
]
+
a
[
b
[
+
a
[
2
]
b
[
2
]
Zauwa
Ŝ
my,
Ŝ
e rezultatem działania jest liczba – suma iloczynów składowych wektorów
a
i
b
:
2
=
Il
_
skalarny
=
a
[
i
]
b
[
i
]
i
0
b)
Wektorowego:
a
[
b
[
2
-
a
[
2
b
[
a
´
b
=
a
[
2
b
[
0
-
a
[
0
b
[
2
a
[
0
b
[
-
a
[
b
[
0
Zauwa
Ŝ
my,
Ŝ
e rezultatem działania jest wektor – o składowych zdefiniowanych j.w. .
c)
Tensorowego:
a
[
0
]
b
[
0
a
[
0
b
[
a
[
0
b
[
2
a
Ä
b
=
a
[
b
[
0
a
[
b
[
a
[
b
[
2
a
[
2
]
b
[
0
a
[
2
b
[
a
[
2
b
[
2
Zauwa
Ŝ
my,
Ŝ
e rezultatem działania jest
macierz
– o składowych równych iloczynom
odpowiednich składowych wektorów
a
i
b
. W ogólnej postaci składowa macierzy wynikowej
jest równa:
Iloczyn
_
tensorowy
[
i
,
j
]
=
a
[
i
]
b
[
j
]
2.
Rozwi
ąŜ
wszystkie polecenia zadania nr 1 korzystaj
ą
c z funkcji zapisanych w bibliotece
„bib.h”
:
a)
tworzenie w sposób dynamiczny wektora:
typ_zmiennych
*nazwa_wektora=NEW(warto
ść
_składowych, wymiar_wektora);
Przykład:
double
* v=NEW(0.0, 10);
b)
tworzenie w sposób dynamiczny macierzy:
typ_zmiennych
**nazwa_macierzy=NEW(warto
ść
_składowych,ilo
ść
_wierszy, ilo
ść
_kolumn);
Przykład:
int
** A=NEW(0, 5,10);
c)
zwolnienie zarezerwowanej dynamicznie na stercie pami
ę
ci pod wektor/macierz:
DEL(nazwa_wektora_lub_macierzy)
d)
wy
ś
wietlenie na ekranie konsoli wektora:
display(„dowolny_tekst”, nazwa_wektora, wymiar_wektora);
Przykład:
display(„Wektor v ma postac”, v, 10);
e)
wy
ś
wietlenie na ekranie konsoli macierzy:
display(„dowolny_tekst”, nazwa_macierzy, ilo
ść
_wierszy, ilo
ść
_kolumn);
Przykład:
display(„Macierz A ma postac”, A, 5, 10);
f)
generowanie liczb pseudolosowych z dowolnego przedziału:
random(od,do);
Przykład – losowanie liczby całkowitej:
random(-10,10);
Przykład – losowanie liczby zmiennoprzecinkowej:
random(-10.0,10.0);
3.
Korzystaj
ą
c z funkcji dost
ę
pnych w bibliotece
„bib.h”
stwórz nast
ę
puj
ą
ce tablice o
wymiarach wczytywanych z klawiatury
m
,
n
,
k
:
- wektory
v
i
w
o wymiarze
m
- macierz
A
o wymiarach [
n, m
] i macierz
B
o wymiarach [
m, k
]
Składowe tablic zapełnij liczbami losowymi z przedziału [a,b], np.[-10,10].
Napisz kod realizuj
ą
cy nast
ę
puj
ą
ce operacje:
a)
Mno
Ŝ
enie wektora
v
i wektora
w
– zauwa
Ŝ
my,
Ŝ
e wynikiem b
ę
dzie liczba:
∑
-
=
m
1
c
=
v
[
i
]
w
[
i
]
i
0
b)
Mno
Ŝ
enie macierzy
A
i wektora
v
– zauwa
Ŝ
my,
Ŝ
e wynikiem b
ę
dzie wektor o
wymiarze
n
, o składowych:
∑
-
=
m
1
u
[
i
]
=
A
[
i
,
j
]
×
v
[
j
]
j
0
c)
Mno
Ŝ
enie macierzy
A
i macierzy
B
– zauwa
Ŝ
my,
Ŝ
e wynikiem b
ę
dzie macierz o
wymiarach
n
´
k
, o składowych:
∑
-
=
m
1
C
[
i
,
j
]
=
A
[
i
,
l
]
×
B
[
l
,
j
]
l
0
Wy
ś
wietl na ekranie dane tablice oraz wyniki, zwolnij zarezerwowan
ą
dynamicznie
pami
ęć
.
[ Pobierz całość w formacie PDF ]