Inf Lab06

background image

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:

]

2

[

]

2

[

]

1

[

]

1

[

]

0

[

]

0

[

b

a

b

a

b

a

b

a

+

+

=

Zauważmy, że rezultatem działania jest liczba – suma iloczynów składowych wektorów a i b:

=

=

2

0

]

[

]

[

_

i

i

b

i

a

skalarny

Il

b)

Wektorowego:

=

×

]

0

[

]

1

[

]

1

[

]

0

[

]

2

[

]

0

[

]

0

[

]

2

[

]

1

[

]

2

[

]

2

[

]

1

[

b

a

b

a

b

a

b

a

b

a

b

a

b

a

Zauważmy, że rezultatem działania jest wektor – o składowych zdefiniowanych j.w. .

c)

Tensorowego:

=

]

2

[

]

2

[

]

1

[

]

2

[

]

0

[

]

2

[

]

2

[

]

1

[

]

1

[

]

1

[

]

0

[

]

1

[

]

2

[

]

0

[

]

1

[

]

0

[

]

0

[

]

0

[

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

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:

]

[

]

[

]

,

[

_

j

b

i

a

j

i

tensorowy

Iloczyn

=

background image

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);

background image

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:

=

=

1

0

]

[

]

[

m

i

i

w

i

v

c

b)

Mnożenie macierzy A i wektora v – zauważmy, że wynikiem będzie wektor o
wymiarze n, o składowych:

=

=

1

0

]

[

]

,

[

]

[

m

j

j

v

j

i

A

i

u

c)

Mnożenie macierzy A i macierzy B – zauważmy, że wynikiem będzie macierz o
wymiarach

k

n

×

, o składowych:

=

=

1

0

]

,

[

]

,

[

]

,

[

m

l

j

l

B

l

i

A

j

i

C


Wyświetl na ekranie dane tablice oraz wyniki, zwolnij zarezerwowaną dynamicznie
pamięć.


Wyszukiwarka

Podobne podstrony:
Inf Lab06
infa Inf Lab06
Inf Lab06
Inf Lab06
infa, Inf Lab06
INF dec5
BEZPIECZE STWO SYSTEM W INF
Sys Inf 03 Manning w 06
Sys Inf 03 Manning w 19
A dane,inf,wiedza,uj dyn stat proc inf w zarz 2008 9
Sys Inf 03 Manning w 02
INF 6 PRZESTEPSTWA
H Bankowość ele platnosci ele proc inf w zzarz 2008 9
Inf przestrz wekt uklady rown
10Swykl nadwr inf transpl
DIAGNOZOWANIE NIESPRAWNOSCI INF Nieznany
1 Ogolne inf o projektowaniui Nieznany (2)
admin sieci inf
ZAPROSZENIE, Documents, IP Zielona gora, mat inf

więcej podobnych podstron