Var TAB : STOLB

Begin

if n>1 then

Begin

imn:=Min(n-1);

if x[n]>x[imn] then Min:=imn

else Min:=n

End

else Min:=1

end;

Begin

clrscr;

randomize;

write('Razmer massiva X n=');

readln(n);

writeln('Massiv X:');

for i:=1 to n do

Begin

x[i]:=random(20);

write(x[i],' ');

end;

writeln;

write('Index min=',Min(n));

readln

end.


Массив – это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти.

Двумерный массив (прямоугольная таблица (матрица, набор векторов)) - это пример массива, в котором элементы нумеруются двумя индексами, элемент которого зависит от его местоположения в строке и в столбце.

Описать такой массив можно двумя способами:
I.
Var
A: Array [1..20] Of Array [1..30] Of Integer;
II.
Var
A: Array [1..20,1..30] Of Integer;

В обоих случаях описан двумерный массив, соответствующий таблице, состоящей из 20 строк и 30 столбцов. Приведенные описания совершенно равноправны.

Отдельный элемент двумерного массива адресуется, естественно, двумя индексами. Например, ячейка, находящаяся в 5-й строке и 6-м столбце будет называться A[5][6] или A[5,6].

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

В качестве номера (индекса) элемента массива используется выражение порядкового типа (чаще integer).

Для определения позиции элемента в двумерном массиве необходимы два индекса. Любой двумерный массив есть матрица, а матрица есть таблица. Поэтому удобно описывать двумерные массивы путем указания границ изменения индексов (номеров) строк и столбцов.

Например, таблица символов M × N, где M – число строк и N – число столбцов, может быть описана:

var TAB: array [1..M, 1..N] of char;

Общая форма записи

VAR <имя>: ARRAY [тип индекса строки, тип индекса столбца]

OF <тип компонент>;

Однако двумерный массив можно интерпретировать как вектор-столбец, каждый элемент которого, в свою очередь, является одномерным массивом (вектор-строка). Этот подход к определению двумерного массива влечет его описание с помощью двух строк, где первая содержит описание строки, а вторая – описание столбца:

type LINE = array [1..N] of char;

STOLB = array [1..M] of LINE;

var TAB: STOLB.

Здесь TAB [I] – переменная типа LINE, а TAB [I][J] – переменная типа CHAR.

Общая форма записи


TYPE <тип строки> = ARRAY [тип индекса] OF <тип компонент>;

<тип столбца> = ARRAY [тип индекса] OF <тип строки>;

VAR <переменная массива>: <тип столбца>;

Эти два вида определения массивов задают и два способа обращения к элементам массива: TAB [I, J] – в первом случае и TAB [I][J] – во втором. Вполне очевидно, что сказанное выше для двумерного массива распространяется и на массивы большей размерности. Например, описание VAR CUBE: ARRAY [1..M, 1..N, 1..K] OF INTEGER определяет задание трехмерного массива целых чисел.

А так же двумерным массивом называется таблица, состоящая из строк и столбцов.

А11А12А13… А1m

A21A22A23...А2m

...............

...............

An1An2An3...Anm

Описание двумерного массива.

Способ 1. В разделе описания переменных.

Имя Массива: array [Верх.Гр.1..Ниж.Гр.1,Верх.Гр.2..Ниж.Гр.2] of Тип Элементов;

Способ 2. В разделе описания типов.

Имя Массива: array [Верх.Гр.1..Ниж.Гр.1,Верх.Гр.2..Ниж.Гр.2] of Тип Элементов;

Способ 3. В разделе описания констант.

Const

Имя Массива: array[1..3,1..3] of real=((1.2,2.4,0.4),(0.045,-0.47,0.003),(1.24,1,-7.4));

Часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значения и номера максимального и минимального элементов, а также изменить значения элементов массива и т.д. Особенность работы с двумерными массивами заключается в том, что расширяется возможность обработки массива (появились новые элементы: строки, столбцы - являющиеся одномерными массивами).



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



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