140 likes | 285 Views
Методика програмирања. Дводимензионални низови - o брада. Професор: др Мирјана Ивановић Асистент: мр Љубомир Јеринић. Малетковић Милица 480/08. Да се подсетимо. Шта је то низ? Ком типу података могу припадати елементи низова? Како дефинишемо низ у PASCAL- у?. Елементи низа.
E N D
Методика програмирања Дводимензионални низови - oбрада Професор: др Мирјана Ивановић Асистент: мр Љубомир Јеринић Малетковић Милица 480/08
Да се подсетимо... • Шта је то низ? • Ком типу података могу припадати елементи низова? • Како дефинишемо низ у PASCAL-у? Елементи низа Индекси елемената низа
Дводимензионални низ • Низ чији су елементи поново низови; • Другачије се називају матрице (у математици); • Хоризонтални низови од којих је сачињена матрица називају се врсте, а вертикални колоне; • Димензије матрице: nxm • n – број врста • m – број колона (n и m су природни бројеви) Да ли врсте/колоне могу имати различит број елемената?
Дводимензионални низ • Елементи матрице се најчешће означавају са c[i,j] • i - редни број врсте, • ј - редни број колоне; Како изгледа матрица 3x3?
Дводимензионални низ • Главну дијагоналу матрице чине елементи који имају исте индексе врсте и колоне, (i=j); • Споредну дијагоналу чине елементи за које важи i+j = n+1; Главна дијагонала Споредна дијагонала Које матрице могу имати главну и споредну дијагоналу?
Дводимензионални низ • Матрице које имају исти број врста и колона називају се квадратне матрице (n=m); Враћамо се PASCAL-у...
Декларисање матрица у PASCAL-у • Kао нови тип у одељку type: • Описом у одељку var: • type • Niz=array[1..15] of real; • Matrica=array[1..20] ofNiz; • var • A:Matrica; Joш? var A:array[1..20, 1..15] of real;
Пример 1: • Учитати димензије и елементе матрице који су реални бројеви, а затим за ту матрицу наћу суму елемената који су позитивни. program SumaPozitivnih; typeMatrica=array[1..20, 1..15] of real; var A:Matrica; n,m,i,j:integer; S:real; begin write(’Unesi dimenzije matrice: ’); readln(n,m); writeln(’Ucitaj vrednosti elemenata matrice: ’); fori:=1 to n do forj:=1 to m do read(A[i,j]); S:=0; fori:=1 to n do forj:=1 to m do ifA[i,j]>0 then S=S+A[i,j]; Writeln(’S=’, S:10:2); end.
Пример 2: • Унети квадратну матрицу чији су елементи цели бројеви, а потом наћи и исписати највећи елемент на главној дијагонали.
Пример 2: programМаxDijagonala; typeMatrica=array[1..20, 1..20] of integer; var A:Matrica; n,,i,j:integer; max:integer; begin write(’Unesi dimenziju matrice: ’); readln(n); writeln(’Ucitaj vrednosti elemenata matrice: ’); fori:=1 to n do forj:=1 to m do read(A[i,j]); max:=A[i,j];
Пример 2: fori:=1 to n do forj:=1 to m do ifi=j then if A[i,j]>max then max=A[i,j]; Writeln(’max=’, max); end.
Хвала на пажњи! Презентацију можете пронаћи на: http://milicamaletkovic.wordpress.com/