Jul 23

Работаем с матрицами в Паскале.

Главные приемы при работе с матрицами на языке Паскаль...

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

Ваш сайт еще не в ТОП? Продвижение сайта в поисковиках - www.maxtops.ru!

Сперва надо разобратся что такое матрица и с чем ее едят )

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

Вот простой пример матрицы :

1 2 3 5

6 4 7 9

0 3 5 8

Данная матрица состоит из трех строк и четырех столбцов.

Матрица должна объявляется именно как двухмерный массив :

matrix: array [1..3,1..3] of integer;

Кстати, здесь сразу есть возможность задать и само значение элементов:

matrix: array [1..3,1..3] of integer = (5,5,5,8,8,8,1,1,1);

А элементы матрицы изменить можно, к примеру, таким образом :

temp = A

A = B

B = temp

Где и А и В представляют собой элементы, необходимо которые местами поменять. Temp – это есть промежуточная переменная.

К одной из разновидностей матриц относится квадратная матрица.

У нее есть 2 диагонали : первая - главная и вторая- побочная.

Главная диагональ представлена формулой A[N,N] - Где именно N представляет собой число от 1 и до максимального значения.

Яркий пример главной диагонали представлен ниже :

2 0 0 0

0 2 0 0

0 0 2 0

0 0 0 2

Двойки – это ничто иное, как важные элементы главной диагонали.

Побочная же диагональ такой формулой задается A[N,MAX-N+1] - Где именно N число от 1 и уже до максимального значения, MAX представляет собой размерность матрицы.

Ниже пример этой побочной диагонали :

0 0 0 2

0 0 2 0

0 2 0 0

2 0 0 0

Двойки именно как элементы побочной диагонали.

Точно определить, где же именно элемент находится относительно диагоналей, есть возможность таким образом:

Главная диагональ:

В том случае, когда X>Y Тогда элемент находится выше главной диагонали.

В том случае, когда X=Y Тогда элемент находится на главной диагонали.

В том случае, когда X<Y Тогда элемент находится ниже главной диагонали.

Побочная диагональ:

В том случае, когда X>Y-MAX+1 – находится выше

В том случае, когда X=Y-MAX+1 – находится на главной диагонале

В том случае, когда X<Y-MAX+1 – находится ниже главной

Ищем максимальный либо минимальный элемент

Что такое максимальный элемент? Максимальный элемент представляет собой элемент матрицы, который имеет наибольшое (максимальное) значение.

Вот пример, в самой матрице

1 4

9 0

9 – это именно максимальный элемент.

Как же найти максимальный элемент?

В"корзину" кладем первый элемент матрицы.

Далее просматриваем следующий элемент, в том случае, если он является больше того, что уже в корзине, то и его ложим в корзину, в ином случае переходим к другому элементу.

Повторяем шаг второй до того времени пока не закончатся элементы.

В результате в корзине нашей лежать будет именно максимальный элемент.

На Паскале это будет иметь следующий вид :

var

m: array [1..2,1..2] of integer = (1,5,2,9);

a,b,temp:integer;

begin

for a:=1 to 2 do

for b:=1 to 2 do

if m[a,b]>temp them temp:=m[a,b];

write(temp,' - максимальный элемент');

end.

Найти же минимальный элемент можно аналогично максимальному. Только на этот раз ищем минимальный элемент.


Поделитесь вашими мыслями

Поддерживаемые теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>