2. Двумерным массивомДвумерным массивом
называется совокупностьназывается совокупность
данных, каждое значениеданных, каждое значение
которых, зависит от егокоторых, зависит от его
положения в строке и вположения в строке и в
столбце.столбце.
3. Каждый элементКаждый элемент
двумерного массивадвумерного массива
описывается какописывается как a[i,j]a[i,j],,
где:где:
аа – имя массива– имя массива
ii - номер строки- номер строки
jj – номер столбца– номер столбца
5. Если в матрицеЕсли в матрице
количествоколичество строкстрок ии
столбцовстолбцов совпадаютсовпадают, то, то
она называетсяона называется
квадратнойквадратной, в противном, в противном
случае прямоугольной.случае прямоугольной.
6. Главная диагональ квадратнойГлавная диагональ квадратной
матрицы проходит из левого верхнегоматрицы проходит из левого верхнего
угла в правый нижний.угла в правый нижний.
a33a32a31
a23a22a21
a13a12a11
А[3,3]=
7. Побочная диагональ квадратнойПобочная диагональ квадратной
матрицы проходит из правогоматрицы проходит из правого
верхнего угла в левый нижний.верхнего угла в левый нижний.
a33a32a31
a23a22a21
a13a12a11
А[3,3]=
8. Описание матрицы в разделеОписание матрицы в разделе varvar
аналогично описанию одномерногоаналогично описанию одномерного
массива, только теперь необходимомассива, только теперь необходимо
указывать диапазон измененияуказывать диапазон изменения
столбцов и строк.столбцов и строк.
ConstConst n=10; m=12;n=10; m=12;
VarVar a:a:arrayarray [1..n,1..m][1..n,1..m] ofof integer;integer;
9. Для ввода матрицы вДля ввода матрицы в
память существует многопамять существует много
способов, это зависит отспособов, это зависит от
направления задачи.направления задачи.
Рассмотрим два самыхРассмотрим два самых
распространенных способа:распространенных способа:
10. Writeln(‘Writeln(‘Введите элементы матрицы поВведите элементы матрицы по
строкамстрокам’);’);
Writeln(‘Writeln(‘В конце каждой строкиВ конце каждой строки
нажимайтенажимайте ENTER’);ENTER’);
ForFor I:=1I:=1 toto nn dodo
BeginBegin
ForFor j:= 1j:= 1 toto mm dodo
BeginBegin
Readln(a[i,j]);Readln(a[i,j]);
End;End;
End;End;
11. Randomize;Randomize;
ForFor I:=1I:=1 toto nn dodo
BeginBegin
ForFor j:=1j:=1 toto nn dodo
BeginBegin
a[i,j]:=random(10);a[i,j]:=random(10);
write(a[i,j],’ ‘);write(a[i,j],’ ‘);
End;End;
Writeln;Writeln;
End;End;
14. Для решения данной задачиДля решения данной задачи
необходимо определить, чемнеобходимо определить, чем
отличаются элементы главнойотличаются элементы главной
диагонали?диагонали?
a33a32a31
a23a22a21
a13a12a11
А[3,3]=
15. ProgramProgram Sumglav;Sumglav;
constconst n=3;n=3;
varvar a:a:arrayarray [1..n,1..n][1..n,1..n] ofof real;real;
i, j: integer; S: real;i, j: integer; S: real;
BeginBegin
ВВОД МАССИВАВВОД МАССИВА;;
S:=0;S:=0;
forfor i:=1i:=1 toto nn dodo
S:=S+a[i,i];S:=S+a[i,i];
write(‘write(‘Сумма элементов главной диагоналиСумма элементов главной диагонали
== ’,S);’,S);
readln;readln;
readlnreadln
end.end.
19. Program StrokiProgram Stroki22;;
constconst n=3; m=4;n=3; m=4;
varvar a:a:arrayarray [1..n,1..m][1..n,1..m] ofof integer;integer;
i, j,k,l,c: integer;i, j,k,l,c: integer;
BeginBegin
ВВОД МАССИВАВВОД МАССИВА;;
writeln(‘writeln(‘Ведите номера меняемых местами строкВедите номера меняемых местами строк’);’);
readln(k,l);readln(k,l);
forfor j:=1j:=1 toto mm dodo
beginbegin
c:=a[k,j];c:=a[k,j];
a[k,j]:=a[l,j];a[k,j]:=a[l,j];
a[l,j]:=c;a[l,j]:=c;
end;end;
writeln(‘writeln(‘Новый массивНовый массив =>=> ’);’);
forfor i:=1i:=1 toto nn dodo
beginbegin
forfor j:=1j:=1 toto mm dodo
write(a[i,j],’ ‘);write(a[i,j],’ ‘);
writeln;writeln;
end;end;
readln;readln;
readlnreadln
end.end.
20. Задания для самостоятельнойЗадания для самостоятельной
работы:работы:
Написать программы:Написать программы:
1)1)Нахождения наибольшегоНахождения наибольшего
элемента всего массива;элемента всего массива;
2)2)Нахождения наибольшегоНахождения наибольшего
элемента главной диагонали;элемента главной диагонали;
3)3)Нахождения наименьшихНахождения наименьших
элементов в столбцахэлементов в столбцах
массива.массива.