Обработка матриц во Free Pascal

Матрица – это двумерный массив, каждый элемент которого имеет два индекса: номер строки и номер столбца.

Объявить двумерный массив (матрицу) можно так:

имя: array [индекс1_нач.. индекс1_кон, индекс2_нач.. индекс2_кон] of тип;

где тип определяет тип элементов массива, имя — имя матрицы, индекс1_нач.. индекс1_кон — диапазон изменения номеров строк, индекс2_нач.. индекс2_кон — диапазон изменения номеров столбцов матрицы.

Например,

var h: array [0..11,1..10] of real;

Описана матрица вещественных чисел h, состоящая из двенадцати строк и десяти столбцов (строки нумеруются от 0 до 11, столбцы — от 1 до 10).

Существует ещё один способ описать матрицы, для этого надо создать новый тип данных:

type

новый_тип=array [индекс1_нач.. индекс1_кон] of тип;

var

имя: array [индекс2_нач.. индекс2_кон] of новый_тип;

или

type

новый_тип=array [список_диапазонов] of тип;

var

имя: новый_тип;

Например:

type

massiv=array [1..30] of integer;

matrica=array [0..15,0..13] of real;

var

a, b: array [1..10] of massiv;

c:matrica;

В данном случае в матрицах a и b есть 10 строк и 30 столбцов, а с – матрица, в которой есть шестнадцать строк и четырнадцать столбцов.

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

имя[номер_строки, номер_столбца]

или так

имя[номер_строки] [номер_столбца]

Например, h[2,4]67 – элемент матрицы h, находящийся в строке под номером два и столбце под номером четыре.

Для обработки всех элементов матрицы необходимо использовать два цикла. Если обрабатываем матрицу построчно, то во внешнем цикле последовательно перебираем строки от первой до последней, затем во внутреннем — перебираем все (первый, второй, третий и т. д.) элементы текущей строки. При обработке элементов матрицы по столбцам, внешний цикл будет по столбцам, внутренний — по строкам.

На рис. представлены блок-схемы алгоритма обработки матрицы по строкам, и по столбцам. Здесь i — номер строки, j — номер столбца, N — количество строк, M — количество столбцов матрицы A.

Ввод-вывод матриц

Матрицы, как и массивы, нужно вводить (выводить) поэлементно. Вначале следует ввести размеры матрицы, а затем уже в двойном цикле вводить элементы.

Блок-схема ввода элементов матрицы изображена на рис.

Вывод можно осуществлять по строкам или по столбцам, но лучше, если элементы располагаются построчно, например,

2 3 13 35

5 26 76 37

52 61 79 17

Алгоритм построчного вывода элементов матрицы приведен на рис.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: