Массивы

В качестве номера (индекса) 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;

СОРТИРОВКА (УПОРЯДОЧЕНИЕ) ЭЛЕМЕНТОВ МАССИВА:

При сортировке массива его элементы меняются таким образом, что их значения оказываются упорядоченными или по возрастанию, или по убыванию. Если в массиве есть одинаковые элементы, то говорят о сортировке по неубыванию или невозрастанию. Существует много алгоритмов сортировки, которые значительно отличаются по скорости работы.


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



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