document9

20

Upload: ion1012

Post on 17-Jun-2015

42 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Document9
Page 2: Document9

Двумерным массивом Двумерным массивом называется совокупность называется совокупность данных, каждое значение данных, каждое значение которых, зависит от его которых, зависит от его положения в строке и в положения в строке и в столбце. столбце.

Page 3: Document9

Каждый элемент Каждый элемент двумерного массива двумерного массива описывается как описывается как a[i,j]a[i,j],,

где:где:аа – имя массива – имя массиваii - номер строки - номер строкиjj – номер столбца – номер столбца

Page 4: Document9

a33a32a31

a23a22a21

a13a12a11

Пример двумерного Пример двумерного массива (матрицы):массива (матрицы):

А[3,3]=

Page 5: Document9

Если в матрице Если в матрице количество количество строкстрок и и столбцовстолбцов совпадаютсовпадают, то , то она называется она называется квадратнойквадратной, в противном , в противном случае прямоугольной.случае прямоугольной.

Page 6: Document9

Главная диагональ квадратной Главная диагональ квадратной матрицы проходит из левого верхнего матрицы проходит из левого верхнего угла в правый нижний.угла в правый нижний.

a33a32a31

a23a22a21

a13a12a11А[3,3]=

Page 7: Document9

Побочная диагональ квадратной Побочная диагональ квадратной матрицы проходит из правого матрицы проходит из правого верхнего угла в левый нижний.верхнего угла в левый нижний.

a33a32a31

a23a22a21

a13a12a11А[3,3]=

Page 8: Document9

Описание матрицы в разделе Описание матрицы в разделе varvar аналогично описанию одномерного аналогично описанию одномерного массива, только теперь необходимо массива, только теперь необходимо указывать диапазон изменения указывать диапазон изменения столбцов и строк.столбцов и строк.

Const Const n=10; m=12;n=10; m=12;Var Var a:a:array array [1..n,1..m] [1..n,1..m] of of integer;integer;

Page 9: Document9

Для ввода матрицы в Для ввода матрицы в память существует много память существует много способов, это зависит от способов, это зависит от направления задачи. направления задачи. Рассмотрим два самых Рассмотрим два самых распространенных способа:распространенных способа:

Page 10: Document9

Writeln(‘Writeln(‘Введите элементы матрицы по Введите элементы матрицы по строкамстрокам’);’);

Writeln(‘Writeln(‘В конце каждой строки В конце каждой строки нажимайте нажимайте ENTER’); ENTER’);

For For I:=1 I:=1 to to nn do doBeginBegin For For j:= 1 j:= 1 to to mm do do BeginBeginReadln(a[i,j]);Readln(a[i,j]);End;End;End;End;

Page 11: Document9

Randomize;Randomize;For For I:=1 I:=1 to to nn do do BeginBeginFor For j:=1 j:=1 to to nn do doBeginBegina[i,j]:=random(10);a[i,j]:=random(10);write(a[i,j],’ ‘);write(a[i,j],’ ‘);End;End;Writeln;Writeln;End;End;

Page 12: Document9
Page 13: Document9

Вычисление суммы Вычисление суммы элементов главной элементов главной диагонали квадратной диагонали квадратной матрицы:матрицы:

Page 14: Document9

Для решения данной задачи Для решения данной задачи необходимо определить, чем необходимо определить, чем отличаются элементы главной отличаются элементы главной диагонали?диагонали?

a33a32a31

a23a22a21

a13a12a11А[3,3]=

Page 15: Document9

Program Program Sumglav;Sumglav;const const n=3;n=3;var var a:a:array array [1..n,1..n] [1..n,1..n] of of real;real;i, j: integer; S: real;i, j: integer; S: real;BeginBegin

ВВОД МАССИВАВВОД МАССИВА;;

S:=0;S:=0;for for i:=1i:=1 to to nn do doS:=S+a[i,i];S:=S+a[i,i];write(‘write(‘Сумма элементов главной диагонали Сумма элементов главной диагонали = = ’,S);’,S);readln;readln;readlnreadlnend.end.

Page 16: Document9

Нахождение Нахождение наибольших элементов наибольших элементов каждой строки массива:каждой строки массива:

Page 17: Document9

Program StrokiProgram Stroki;;const const n=3; m=4n=3; m=4var var a:a:array array [1..n,1..m] [1..n,1..m] of of real; real; max:max:array array [1..n] [1..n] of of real;real;i, j: integer;i, j: integer;BeginBeginВВОД МАССИВАВВОД МАССИВА;;for for i:=1i:=1 to to nn do dobeginbeginmax[i]:=a[i,1];max[i]:=a[i,1];for jfor j:=2:=2 to to mm do doifif max[i]<a[i,j] max[i]<a[i,j] thenthen max[i]:=a[i,j]; max[i]:=a[i,j];end;end;write(‘write(‘Наибольшие числа строк массива Наибольшие числа строк массива => => ’);’);for for i:=1i:=1 to to nn do dowriteln(max[i]);writeln(max[i]);readln;readln;readlnreadlnend.end.

Page 18: Document9

Перестановка строк Перестановка строк массива:массива:

Page 19: Document9

Program StrokiProgram Stroki22;;const const n=3; m=4;n=3; m=4;var var a:a:array array [1..n,1..m] [1..n,1..m] of of integer; integer; i, j,k,l,c: integer;i, j,k,l,c: integer;BeginBeginВВОД МАССИВАВВОД МАССИВА;;writeln(‘writeln(‘Ведите номера меняемых местами строкВедите номера меняемых местами строк’);’);readln(k,l);readln(k,l);for for j:=1j:=1 to to mm do dobeginbeginc:=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(‘Новый массив Новый массив => => ’);’);for for i:=1i:=1 to to nn do dobeginbeginfor for j:=1j:=1 to to mm do dowrite(a[i,j],’ ‘);write(a[i,j],’ ‘);writeln;writeln;end;end;readln;readln;readlnreadlnend.end.

Page 20: Document9

Задания для самостоятельной Задания для самостоятельной работы:работы:Написать программы:Написать программы:1)1)Нахождения наибольшего Нахождения наибольшего элемента всего массива;элемента всего массива;2)2)Нахождения наибольшего Нахождения наибольшего элемента главной диагонали;элемента главной диагонали;3)3)Нахождения наименьших Нахождения наименьших элементов в столбцах элементов в столбцах массива.массива.