Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11_Лекция_Двумерн_мас_Р.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
198.66 Кб
Скачать

29 Двумерные массивы

Результат деятельности некоторой фирмы, торгующей автомобилями, может быть представлен в виде следующей таблицы.

Марка

Январь

Февраль

Март

...

Ноябрь

Декабрь

ВАЗ 2106

ВАЗ 2107

ВАЗ 2108

ВАЗ 2109

ВАЗ 2110

ВАЗ 2111

Приведенная выше таблица может быть представлена как совокупность одномерных массивов:

var vaz2106 : array [1..12] of integer;

vaz2107 : array [1..12] of integer;

vaz2108 : array [1..12] of integer;

vaz2109 : array [1..12] of integer;

vaz2110 : array [1..12] of integer;

vaz2111 : array [1..12] of integer;

Возможно и такое представление таблицы:

var jan :array [6..11] of integer;

feb :array [6..11] of integer;

mar :array [6..11] of integer;

...

dec :array [6..11] of integer;

Если вся таблица содержит однородную информацию, например, только целые числа, то такая таблица может быть представлена как двумерный массив.

var vaz :array [6..11] of array [1..12] of integer;

Принято более компактное описание:

var vaz : array [6..11, 1..12] of integer;

Объявление двумерных массивов

Конструкция объявления двумерного массива:

array [ тип_индекса1, тип_индекса2 ] of базовый_тип;

Объявить массив возможно в разделах объявления констант, типов, переменных

const имя : array [тип_индекса1, тип_индекса2] of базовый_тип = ((список_элементов_1), …, (список_элементов_N));

type имя = array [ тип_индекса1, тип_индекса2] of базовый_тип;

var имя : array [ тип_индекса1, тип_индекса2] of базовый_тип;

где имя – это имя массива-константы, имя типа массива, имя переменной массива и соответственно (идентификатор);

array, of – зарезервированные слова, которые переводятся как «массив», «из»;

базовый_тип – тип элементов массива (кроме файлового типа);

тип_индекса1, тип_индекса2 – любой порядковый тип, размерность которого не превышает 2 Гб для OP Delphi 6 (для Turbo Pascal – 64 Кбайт).

Тип_индекса1 характеризует порядковые номера элементов матрицы в строках, тип_индекса2 – в столбцах.

В случае использования в роли типа индекса ограниченного типа (интервального типа) конструкция описания двумерного массива выглядит:

array [нижний_индекс1..верхний_индекс1,

нижний_индекс1..верхний_индекс2] of базовый_тип;

Количество элементов массива равняется величине:

Примеры объявления двумерных массивов:

const k=10; m=2; n=5;

{Объявление массива-константы из двух строк, трех столбцов

– шесть целочисленных элементов}

f : array [1..2, 1..3] of byte = ((0,1,2), (3,4,5));

{Объявление типа массива из пяти строк, пяти столбцов –

25 целочисленных элементов}

type matrix = array [1..n, 1..n] of integer;

{Объявление переменных массивов}

{массив из пяти строк, пяти столбцов – 25 целых элементов}

var a:matrix;

{ Массив из 10 строк, двух столбцов – 20 действительных элементов}

b : array [1 .. k, 1 .. m] of real;

{Массив из четырех строк, трех столбцов – 12 символьных элементов}

c : array [1..4, 1..3] of char;

{Массив из 256 строк, двух столбцов – 512 целых элементов}

d : array [byte, 1..2] of integer;