Массив (в некоторых языках программирования также таблица, ряд, матрица, вектор) — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных — вектор.
Размерность массива — это количество индексов, необходимое для однозначной адресации элемента в рамках массива[1][2]. По количеству используемых индексов массивы делятся на одномерные, двумерные, трёхмерные и т. д.
Форма или структура массива — сведения о количестве размерностей и размере (протяжённости) массива по каждой из размерностей[3]; может быть представлена одномерным массивом[4].
Особенностью массива как структуры данных (в отличие, например, от связного списка) является константная вычислительная сложность доступа к элементу массива по индексу [5]. Массив относится к структурам данных с произвольным доступом.
В простейшем случае массив имеет константную длину по всем размерностям и может хранить данные только одного, заданного при описании, типа. Ряд языков поддерживает также динамические массивы, длина которых может изменяться по ходу работы программы, и гетерогенные массивы, которые могут в разных элементах хранить данные различных типов.
var A: array [1..4,1..3] of real;
var B: array [1..4,1..3] of integer;
var i,j,max,min: integer;
begin
max:=11;
min:=11;
randomize();
writeln('Произвольная матрица B 3x4:');
For i:= 1 to 4 do
begin
For j:= 1 to 3 do
begin
B[i,j]:=random(100);
if (B[i,j]<B[min div 10,min mod 10]) then min:=i*10+j;
if (B[i,j]>B[max div 10,max mod 10]) then max:=i*10+j;
write(B[i,j]:4);
end;
writeln();
end;
writeln('Максимальный элемент матрицы B: ',B[max div 10,max mod 10]);
writeln('Минимальный элемент матрицы B: ',B[min div 10,min mod 10]);
writeln('Матрица A:');
For i:= 1 to 4 do
begin
For j:= 1 to 3 do
begin
A[i,j]:=(2*B[i,j]+B[min div 10,min mod 10])/(B[max div 10,max mod 10]);
write(A[i,j]:7:3);
end;
writeln();
end;
end.