double arrow

Лабораторная работа № 7. Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач

Тема: МАССИВЫ (ДВУМЕРНЫЕ)

Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач.

Возможны два варианта объявления двумерного массива в программе:

Const

n=10; // количество элементов в строке матрицы

m=8; // количество строк матрицы

Type

tTable= array [1..n, 1..m] of integer; // устаревшая форма объявления, массив n*m

tVector= array [1..m] of integer; // описана строка таблицы, содержащая m элементов

tMatrix= array [1..n] of tVector; // описана таблица состоящая их n строк

Var

a: tTable;

b: tMartrix;

Примечание: Первый вариант не соответствует концепции типов языка Паскаль, т.к. не позволяет получить доступ к отдельной строке таблицы. Возможно обращение либо только к таблице в целом (a, тип – tTable), либо только к отдельному элементу i-ой строки и j-го столбца (a[i, j], тип – integer). Второй вариант позволяет работать как с таблицей в целом (b, тип – tMatrix), так и с компонентами таблицы. i-ая строкой таблицы (b[i], тип – tVector), ячейка таблицы, находящаяся в i-ой строке и j-ом столбце таблицы (b[i][j] тип – integer). Обратите внимание на различие в синтаксисе при обращении к ячейкам таблицы: первый вариант объявления таблицы – a[i, j], второй вариант объявления – b[i][j]. В дальнейшем будет использоваться второй вариант объявления.

Типовые алгоритмы обработки двумерных массивов

Рассмотрим некоторые типовые алгоритмы обработки двумерных массивов. Положим, что в декларативной части программы описаны следующие переменные: двумерные массивы А и В, переменные целого типа i, j, k, sumMatr, sumVect, nMin.

Const

n=5; // количество элементов в строке матрицы

m=5; // количество строк матрицы

Type

tVector= array [1..n] of integer; // описана строка таблицы

tMatrix= array [1..m] of tVector; // описана таблица состоящая их m строк

Var

A, B: tMartrix;

i, j, // счетчики циклов (номер строки и номер столбца соответственно)

k, // счетчик цикла

nMin: integer; // номер минимального значения

sumVect, sumMatr: integer; // сумма элементов строки и матрицы соответственно

Заполнение двумерного массива случайными числами

for i:=1 to n do begin // для каждой строки

for j:=1 to m do // для каждого столбца

A[i][j]:=random(20)-10; // заполняем элемент (i, j) случайным значением из диапазона

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

for i:=1 to n do begin // для каждой строки

for j:=1 to m do // для каждого столбца

Write(A[i][j], ’, ’); // выводим элемент (i, j) и строку текста «,» после него

WriteLn // вывод следующей строки начнется с новой строки экрана

end;


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



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