ВЫВОД ДВУМЕРНОГО МАССИВА

ВВОД ИЛИ ИНИЦИАЛИЗАЦИЯ ДВУМЕРНОГО МАССИВА

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

БАЗОВЫЕ ОПЕРАЦИИ ОБРАБОТКИ ДВУМЕРНЫХ МАССИВОВ

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

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

Указываются: имя массива и индексы в квадратных скобках. Первый индекс это номер строки, второй – номер столбца, в которых находится элемент. Между индексами ставится запятая.

 

имя [индекс1, индекс2]

 

Как индекс можно использовать константу, переменную или выражение порядкового типа.

Например,

а[2,3] – элемент второй строки, третьего столбца матрицы а.

 

Изменить значение элемента массива можно с помощью операции присваивания:

Например:

B[5,1]:=3.2;{Элементу пятой строки первого столбца матрицы B присваивается значение 3.2}

 

C[4,3]:=’c’;{Элементу четвертой строки третьего столбца матрицы C присваивается значение символа ‘c’}

 

Изменить значение элемента массива можно с помощью операции ввода данных:

 

readln(a[1,1]); {В элемент массива a[1,1] считывается новое значение}


 

Перечень базовых операций над матрицами:

§ ввод или инициализация матриц;

§ вывод матриц;

§ поиск максимального или минимального элемента матрицы;

§ поиск элемента по определенному критерию;

§ определить имеет ли матрица (ее один или несколько элементов, строка, столбик) указанное свойство;

§ выполнение определенных операций над компонентами матриц (перестановка строк и столбцов и т.д.) или над матрицами в целом (умножение матриц и т.д.);

§ преобразование матрицы нужным способом.


Двумерный массив вводится в память машины поэлементно.

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

Ввод массива с клавиатуры:

program Vvod_matr1;

const n=3; m=4;

var а : array [1..n,1..m] of byte;

i, j:byte; {текущие индексы}

begin

writeln('Enter matrix a(',n,'*',m,')');

{Внешний цикл по строкам}

for i:=1 to n do

{Внутренний цикл по столбцам}

for j:=1 to m do

read(a[i,j]);

...

end.

 

 

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

 

Создать массив можно, с использованием какой-нибудь функции.

for i:=1 to n do

for j:=1 to m do

a[i,j]:=sqr(i+j);

 

Рассмотрим следующий фрагмент программы.

for i:=1 to n do

for j:=1 to m do

write(a[i,j]:2,' ');

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


 

for i:=1 to n do

begin

for j:=1 to m do

write(a[i,j]:3);

writeln

end;