Действия над элементами массива
По индексу определяется положение элемента в массиве. Индекс заключается в квадратные скобки и может быть целым числом
А[4] - элемент массива А находится на 4 позиции;
А[I] - элемент массива А находится на I позиции.
Индекс элемента массива можно задать выражением целого типа.
Пример: А[2i+3]
Такое задание номера элемента используют при описании некоторой последовательности.
1. Инициализация- присвоение начальных значений, причем это значение одинаково для всех элементов массива. Присвоить каждому элементу массива одно и тоже значение вручную или при помощи оператора цикла с известным числом повтора for:
a[1] := 1; a[2]:= 1; a[3]:=1;
for i:=1 to 3 do a[i]:=1;
2. Ввод и вывод элементов массива. Ввод/вывод элементов массива осуществляется при помощи цикла for .
Ввод:
for i:= 1 to 10 do Read (a[i]);
Вывод:
for i:=1 to 10 do Write(a[i]);
3. Копирование массивов - присвоение значений всех элементов одного массива соответствующим элементам другого массива.
for i:= 1 to 10 do a[i]:=b[i];
4. Перестановка элементов массива осуществляется при помощи дополнительной переменной.
Пример: В массиве A нужно поменять местами второй и пятый элементами.
buffer:= a[2];
a[2]:= a[5];
a[5]:= buffer;
Переменной buffer присваивается значение второго элемента массива А. Затем второму элементу присваивается значение пятого элемента массива А. Последняя операция присваивает пятому элементу значение второго элемента, который мы записали в переменную buffer.
Двумерный массив отличается от одномерного массива тем, что для доступа к его элементам используется два индекса. Для того, чтобы задать какую-либо ячейку двумерной таблицы указывают, номер строки и номер столбца.
Двухмерный массив описывается в разделе переменных:
а: array [1..5] of array [1..4] of integer;
Этот массив можно представить в качестве двумерной матрицы с 20 элементами (4×5). Возможна сокращенная запись приведенного выше описания массива:
a: array [1..5,1..4] of integer;
Полный вид двухмерного массива (матрицы):
a[1,1] a[1,2] a[1,3] a[1,4]
a[2,1] a[2,2] a[2,3] a[2,4]
a[3,1] a[3,2] a[3,3] a[3,4]
a[4,1] a[4,2] a[4,3] a[4,4]
a[5,1] a[5,2] a[5,3] a[5,4]
Ввод элементов матрицы осуществляют с помощью вложенных циклов for:
for i:=1 to 5 do
for j:=1 to 4 do Read(а[i,j]);
Вывод элементов матрицы осуществляется аналогично:
for i:=1 to 5 do
for j:=1 to 4 do Write(а[i,j]);
Данные будут выводиться сплошным неразделимым потоком в одну строчку. Чтобы вывести данные, как в таблице, нужно после каждого эле-мента вставить пробел и после каждой выведенной строки сделать переход на новую строку с помощью оператора WriteLn. Тело внешнего цикла за-ключается в операторные скобки begin и end.
for i:=1 to 5 do begin
for j:=1 to 4 do Write(a[i,j],’ ‘);
WriteLn;
end;
Квадратная матрица - матрица с равным количеством строк и столбцов. Работая с квадратными матрицами, всегда следует искать какие-либо определенные закономерности в индексах, чтобы облегчить решение поставленной задачи.
- у элементов главной диагонали i=j ;
-у элементов выше главной диагонали i<j;
-у элементов ниже главной диагонали i>j;
-у элементов побочной диагонали i+j=n+1
(n - порядок матрицы);
