Тип массива
Var a:t;
Пример описания одномерного массива размерностью 20:
type mas=array[1..20] of integer;
var a : mas; | mas – имя типа,
a – имя переменной типа массив. Границы изменения индексов - от 1 до 20, т.к. размерность 20 элементов | ||
const mas : array [1..7]
of byte=(31,–7,4,3,25,–3,2); | Массив, объявленный как константа, т.е. совмещается объявление массива и занесение в него констант. |
Следует помнить, что значением переменной a является весь массив!
Элемент массива обозначается указанием имени массива, за которым в квадратных скобках следует индекс массива. Например, a[1] – первый элемент одномерного массива; с[5] – пятый элемент одномерного массива; a[i] – i-тый элемент одномерного массива или для двухмерных массивов: с[1,5] – пятый элемент первой строки массива; a[i,j] – j-тый элемент i-й строки двухмерного массива.
В двухмерном массиве первый индекс - номер строки, второй - номер столбца.
Двухмерные массивы иногда называют матрицами. Двухмерные массивы могут быть прямоугольными (количество строк и столбцов разное) или квадратными (одинаковое количество строк и столбцов). В двухмерных массивах элементы, у которых номер строки совпадает с номером столбца, называются диагональными или элементами главной диагонали. Главная диагональ начинается с первой с роки первого столбца и заканчивается на последней строке последней графы. Кроме главной диагонали существует побочная диагональ - с последней графе первой строки до первой графы последней строки.
Базовые алгоритмы работы с одномерными массивами
Будем считать, что объявили массив из 10 элементов, тип элементов в данном случае значение не имеет:
1. заполнение одномерного массива:
- заполнение с клавиатуры:
- заполнение случайным образом:
- заполнение натуральными числами:
- поменять местами два заданных элемента массива:
- заполнение по формуле (например, ai=sin i):
for i:=1 to 10 do
begin
writeln (‘Введите значение элемента’);
readln(a[i]);
end;
for i:=1 to 10 do
a[i]:=random(n); {n должно быть задано заранее}
for i:=1 to 10 do
a[i]:=i;
c:=a[i]; a[i]:= a[j]; a[j]:=c;
for i:=1 to 10 do
a[i]:=sin(i);
2. вывод массива на экран:
for i:=1 to 10 do
writeln (‘элемент ’, i, ‘ массива ’,a[i]);
3. нахождение суммы элементов одномерного массива:
s:=0;
for i:=1 to 10 do
s:=s+a[i];
4. подсчёт количества элементов, удовлетворяющих заданному условию (например, положительных элементов):
k:=0;
for i:=1 to 10 do
if a[i]>0 then k:=k+1;
5. поиск максимального элемента одномерного массива и его номера:
max:=a[1];
n:=1;
for i:=2 to 10 do
if a[i]>max then begin max:=a[i]; n:=i; end;