Transcript Matrica

Dvodimenzionalni
nizovi - matrice

Do sada smo imali prilike da se upoznamo sa
JEDNODIMENZIONALNIM nizovima čiji su
elementi skalarne veličine – celi i realni
brojevi, znakovi...

Svakom elementu niza smo pristupali
pomoću jedne indeksne promenljive(i,j ili k)
Ovakvi nizovi se šematski mogu prikazati
kao horizontalna ili vertikalna lista podataka

Jednodimenzionalni nizovi

Međutim često je pogodnije podatke
predstaviti u tabelarnoj formi
KAO TABELA VISINE 10 i
ŠIRINE 3 ELEMENTA
a - NIZ OD 10
CELOBROJNIH
NIZOVA DUŽINE 3
Šta je onda MATRICA?
NIJE prava tabela, već NIZ NIZOVA!
 Svaki element je ustvari jedan niz!

pera je matrica čiji su elementi NIZOVI od
po 4 broja – tipa integer!
pera[1] je prvi element koji je NIZ!
Svaki element ima
SVOJE ELEMENTE!
pera[1][1]
pera[1][2]
pera[1][3]
pera[1][4]
=
=
=
=
2
8
1
6
Prvo odaberemo podniz
pa onda element u
njemu!

Može i ovako!
različite dužine
Pri zadavanju matrice koriste se prirodni
brojevi n i m koji definišu dimenziju(n*m)
matrice – ukazuju da se matrica sastoji od
n vrsta i m kolona.
 Svaki element aij matrice se karakteriše sa
dva indeksa:

◦ PRVI određuje VRSTU
◦ DRUGI određuje KOLONU
Npr. matrica a od najviše 10 vrsta i 3
kolone se definiše na sledeći način:
var
a:array[1..10,1..3] of real;

ovoliko mesta se izdvoji u memoriji
Ovde se zadaju dva indeksa!
 Elementu u i-toj vrsti i j-toj koloni se
može pristupiti korišćenjem zapisa a[i][j]
ili a[i,j]
 i – redni broj vrste
 j – redni broj kolone
 Npr.elementu druge vrste i treće kolone
moguće je pristupiti kao a[2,3]


Pojedinačnoj vrsti se može pristupiti
korišćenjem zapisa a[i], gde je i redni
broj vrste.
Elementi jedne vrste se mogu kopirati u
elemente druge vrste …
 Npr. a[5] = a[1] – elementi prve vrste se
kopiraju u odgovarajuće elemente pete
vrste

Unos elemenata u matricu
writeln(‘Učitaj vrednosti elemenata matrice:’);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);

Ispis elemenata matrice
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]);
ispisujemo red po red
writeln
prelazimo u novi red
end;

ZADACI:
1. Učitati realnu matricu dimenzija n*m.
Ispisati novu matricu koja se sastoji od
recipročnih vrednosti elemenata unete
matrice.
2. Napisati program koji za odeljenje od
najviše 25 učenika i najviše 15 predmeta
izračunava:
a) prosečne ocene učenika
b) prosečne ocene po predmetima na
osnovu tabele ocena iz dnevnika.
3. Kovanice od 1,2,5,10 i 20 dinara
formiraju kvadratnu matricu para
dimenzija n*n. Pronaći:
 zbir kovanica na glavnoj dijagonali,
 najmanji element iznad glavne
dijagonale.

4. Od unetih elemenata realne matrice
n*m formirati i ispisati niz čiji su elementi
zbirovi vrsta (redova) matrice.
5. Za unetu dimenziju n kvadratne matrice
i uneti broj k ispisati sledeću matricu:
6. Učitati realnu matricu dimenzija n*m.
Razmeniti vrednosti elemenata vrste koja
sadrži max element sa vrstom u kojoj se
nalazi min element.
7. Za unetu kvadratnu matricu a[n*n]
pronaći:
 Zbir elemenata sporedne dijagonale
 Najveći element iznad sporedne
dijagonale
Napomena: Za sve zadatke nacrtati
algoritamsku šemu i napisati program.