В качестве номера (индекса) i элемента массива A[i] используется выражение порядкового типа. Наиболее часто индекс – это целая константа или переменная типа Integer, реже – типа Char или Boolean.
Описание для одномерного массива:
Var ИмяМассива: Array[ НижняяГраница.. ВерхняяГраница ] Of ТипЭлементов;
Например,
Var
a: array[1..100] of Integer; {100 элементов – целые числа}
c: array[-3..4] of Boolean; {8 элементов – логические значения}
d: array [‘a’..’z’] of Integer; {26 элементов (т.к. 26 букв) – целые числа}
Описание для двумерного массива:
Var ИмяМассива: Array[ НижняяГраница1.. ВерхняяГраница1,
НижняяГраница2.. ВерхняяГраница2 ] Of ТипЭлементов;
Например,
Var
a: array[1..3,1..4] of Real; {12 элементов – вещественные числа}
Предварительное описание типа массива:
Type
ИмяТипа = array[ НижняяГраница.. ВерхняяГраница ] Of ТипЭлементов;
Var
ИмяМассива: ИмяТипа;
Например,
Const
maxr = 10; maxc = 10;
Type
Matr = array[1..maxr,1..maxc] of Real;
Var
Matrix: Matr; {Matrix – имя переменной, Matr – ее тип}
Например,
Type
Days = (Sunday,Monday,Tuesday,Wednsday,Thursday,Friday,Saturday);
Hour = 1..24;
Matr = array[Days,Hour] of Real;
|
|
Var
Matrix: Matr;
Begin
…
Matrix[Sunday,12]:=10;
…
End.
Инициализация массивов начальными значениями:
Const
x:array[1..5] of Integer = (1,3,5,7,9);
y:array[1..2,1..3] of Real = ((1,3.5,7.8),(2.3,4,8.2));
ВЫВОД ЭЛЕМЕНТОВ МАССИВА:
For i:=1 to n do
Begin
For j:=1 to m do Write(a[i,j]:4);
Writeln;
End;
ПОДСЧЕТ КОЛИЧЕСТВА ЭЛЕМЕНТОВ,
УДОВЛЕТВОРЯЮЩИХ КАКОМУ-НИБУДЬ УСЛОВИЮ:
Например, подсчитаем количество четных чисел в целочисленном массиве.
k:=0;
For i:=1 to n do
If a[i] mod 2 = 0 then k:=k+1; {если число четное, т.е. делится на 2,то увеличиваем }
{ счетчик четных чисел k на 1}
ПОИСК МАКСИМАЛЬНОГО ЭЛЕМЕНТА:
Max:=a[1]; {поиск начинаем с первого элемента}
k:=1;
For i:=2 to n do {перебираем элементы, начиная со второго}
If a[i]>max then
begin
Max:=a[i]; {запоминаем значение и номер элемента,}
k:=i; {который больше всех предыдущих}
end; {Переменная max может и не понадобиться, если нужен только номер максимального элемента}
ПЕРЕСТАНОВКИ ЭЛЕМЕНТОВ В МАССИВЕ.
При перестановке обычно используется дополнительная переменная, которая служит для временного хранения одного из элементов.
Например, переставим местами первый и второй элементы массива a, используя для временного хранения переменную М:
M:=a[1];
a[1]:=a[2];
a[2]:=M;
При перестановке строк или столбцов матрицы необходимо переставить местами все их элементы. При этом не обязательно использовать для временного хранения элементов при обмене целый массив. Одной переменной вполне достаточно, т.к. перестановки всех делаются по очереди.
Например, поменяем местами все элементы первой и второй строки:
For j:=1 to m do {Индекс j перебирает элементы нужной строки (первой или второй)}
Begin
M:=a[1,j];
a[1,j]:=a[2,j];
a[2,j]:=M;
|
|
End;
СОРТИРОВКА (УПОРЯДОЧЕНИЕ) ЭЛЕМЕНТОВ МАССИВА:
При сортировке массива его элементы меняются таким образом, что их значения оказываются упорядоченными или по возрастанию, или по убыванию. Если в массиве есть одинаковые элементы, то говорят о сортировке по неубыванию или невозрастанию. Существует много алгоритмов сортировки, которые значительно отличаются по скорости работы.