Паскаль - Урок 11: Двумерные массивы

Паскаль - Урок 11: Двумерные массивы

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

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

Как описываются двумерные массивы? Для записи двумерных массивов есть несколько способов, я рассмотрю 2 из них.

1 способ описание массива: array [1..m, 1..n] of тип переменных в массиве (integer/real/byte);

2 способ описания массива: array [1..m] of array [1..n] of тип переменных в массиве;

Сначала описываются строки (1..m), а потом столбцы (1..n).

Во втором способе описывается как бы два одномерных массива, которые вместе образуют один двумерный.

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

Пример задания двумерного массива в разделе описания переменных:

Const
m = 100;
n = 100;
var
a: Array [1..m, 1..n] of integer;


В этом случае мы задали двумерный массив a размера 100 на 100, то есть у нас получилась квадратная матрица.

Пример задания матричного массива при помощи раздела Type:

Const
m = 100;
n = 100;
Type
Matrix = Array [1..m, 1..n] of integer;
var
a: Matrix;
b:Matrix;


Во втором примере мы задали два одинаковых матричных массива размерами 100 на 100, при описании массива b нам не пришлось снова описывать его размеры и тип данных.

Как обращаться к ячейке-переменной двумерного массива?

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

x:=a[i,j];


x-любая переменная, a - название массива, i-номер строки, j - номер столбца.

Причём i и j может быть как переменными, так и целыми числами.

Пример записи данных в массив:

For i:= 1 to n do //задание в цикле номера строки
For j:=1 to m do //задание в цикле номера столбца
a[i,j]:=random (100);
//присваивание ячейке с номером строки i и номером столбца j случайного значения

Мы заполнили массив случайными числами от 1 до 100.

Пример программы с использованием двумерного массива, в котором мы заполняем массив случайными числами и выводим его на экран:

Var //описание переменных и массива
Matrix: Array[1..10,1..10] of integer;
i, j: integer;

Begin //начало основной программы
writeln ('Двумерный массив: '); //Диалог с пользователем

for i := 1 to 10 do //заполнение массива
for j := 1 to 10 do
Matrix[i,j]:=random (100);

for i := 1 to 10 do begin //Вывод массива
for j := 1 to 10 do
write (matrix[i,j], ' ');
writeln
writeln ('ZedPost.Ru'); //При желании можно удалить
end; //Конец программы

//readln //используется в Турбо паскаль
end.


Скачать пример с использованием матрицы:zapolneniemas.pas
Дата: 2012-09-05 20:17:34   Просмотров: 42875

Теги: Паскаль Pascal уроки урок массивы