Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце. Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Каждый элемент двумерного массива описывается как a[i,j],
где:
а – имя массива
i - номер строки
j – номер столбца
Просмотр содержимого документа
«Двухмерные массивы»
Автор: Комкова Мария Сергеевна
Гимназия МИИТ
г. Москва
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Каждый элемент двумерного массива описывается как a[i,j] ,
где:
а – имя массива
i - номер строки
j – номер столбца
Пример двумерного массива (матрицы):
А[3,3]=
Если в матрице количество строк и столбцов совпадают , то она называется квадратной , в противном случае прямоугольной.
Главная диагональ квадратной матрицы проходит из левого верхнего угла в правый нижний.
А[3,3]=
Побочная диагональ квадратной матрицы проходит из правого верхнего угла в левый нижний.
А[3,3]=
Описание матрицы в разделе var аналогично описанию одномерного массива, только теперь необходимо указывать диапазон изменения столбцов и строк.
Const n=10; m=12;
Var a: array [1..n,1..m] of integer;
Для ввода матрицы в память существует много способов, это зависит от направления задачи. Рассмотрим два самых распространенных способа:
Writeln(‘ Введите элементы матрицы по строкам ’);
Writeln(‘ В конце каждой строки нажимайте ENTER’);
For I:=1 to n do
Begin
For j:= 1 to m do
Begin
Readln(a[i,j]);
End;
End;
Randomize;
For I:=1 to n do
Begin
For j:=1 to n do
Begin
a[i,j]:=random(10);
write(a[i,j],’ ‘);
End;
Writeln;
End;
Вычисление суммы элементов главной диагонали квадратной матрицы:
Для решения данной задачи необходимо определить, чем отличаются элементы главной диагонали?
А[3,3]=
Program Sumglav;
const n=3;
var a: array [1..n,1..n] of real;
i, j: integer; S: real;
Begin
ВВОД МАССИВА ;
S:=0;
for i:=1 to n do
S:=S+a[i,i];
write(‘ Сумма элементов главной диагонали = ’,S);
readln;
readln
end.
Нахождение наибольших элементов каждой строки массива:
’); for i:=1 to n do writeln(max[i]); readln; readln end." width="640"
Program Stroki ;
const n=3; m=4
var a: array [1..n,1..m] of real;
max: array [1..n] of real;
i, j: integer;
Begin
ВВОД МАССИВА ;
for i:=1 to n do
begin
max[i]:=a[i,1];
for j :=2 to m do
if max[i] then max[i]:=a[i,j];
end;
write(‘ Наибольшие числа строк массива = ’);
for i:=1 to n do
writeln(max[i]);
readln;
readln
end.
Перестановка строк массива:
’); for i:=1 to n do begin for j:=1 to m do write(a[i,j],’ ‘); writeln; end; readln; readln end." width="640"
Program Stroki 2 ;
const n=3; m=4;
var a: array [1..n,1..m] of integer;
i, j,k,l,c: integer;
Begin
ВВОД МАССИВА ;
writeln(‘ Ведите номера меняемых местами строк ’);
readln(k,l);
for j:=1 to m do
begin
c:=a[k,j];
a[k,j]:=a[l,j];
a[l,j]:=c;
end;
writeln(‘ Новый массив = ’);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],’ ‘);
writeln;
end;
readln;
readln
end.
Задания для самостоятельной работы:
Написать программы:
Нахождения наибольшего элемента всего массива; Нахождения наибольшего элемента главной диагонали; Нахождения наименьших элементов в столбцах массива.