infa, 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:
infa Inf Lab06
infa, Inf Lab10 11
infa, Inf Lab08
Inf Lab06
infa, Inf Lab03
infa Inf Lab10 11
infa Inf Lab07
infa Inf Lab04
infa, Inf krata
infa Inf Lab03
infa Inf Lab08
Inf Lab06
Inf Lab06
infa, Inf Lab10 11
infa, Inf Lab08
Inf Lab06
inf wstep NET, Inżynieria Środowiska [PW], sem 4, Infa, woiągi, Płyta;Inf i Prog
INF dec5
BEZPIECZE STWO SYSTEM W INF

więcej podobnych podstron