масиви масивів

Масиви масивів. Матриці.

Масиви (array) найбільш часто застосовуються структуровані типи в системі програмування Delphi. Вони мають ряд властивостей, які дозволяють використовувати їх для зберігання і обробки значних обсягів різноманітної інформації. Дане заняття присвячено подальшому вивченню типу даних ARRAY.

До сих пір ви застосовували тип ARRAY тільки для зберігання та обробки лінійних масивів інформації. В цьому випадку масив можна представити як лінійну таблицю яка містить однотипну інформацію. Наприклад, оголошений масив a. array [1..9] of Integer. який вже заповнений (визначений). Його можна представити таким чином:

В цьому випадку, для того щоб звернутися до елементу масиву, необхідно вказати ім'я даного масиву з індексом елемента в квадратних дужках. Наприклад: a [4].

Для цього масиву базовим типом є стандартний, простий тип Integer. Тому вміст кожної клітинки масиву, це ціле число. Але базовим типом для масивів може бути практично будь-який тип, в тому числі і сам тип масив. Тобто в Delphi може бути оголошена змінна такого вигляду:

Var a: array [1..3] of array [1..4] of Integer;

Type mas = array [1..4] of Integer;

Var a: array [1..3] of mas;

Оголошений таким чином масив масивів а можна зобразити таким чином:

масиви масивів

В даному випадку елементами масиву (базовим типом) є теж масив. в результаті ми маємо 3 осередки для зберігання масивів цілих чисел, або просто 12 осередків для зберігання целочисленной інформації. Для того, щоб звернутися до елементу такого масиву, необхідно двічі вказувати його індекс. Наприклад, до осередку зазначеної хрестиком звертаються в даному випадку, так: a [2] [3].

Type c1 = array [1..5] of Integer;

c2 = array [1..4] of c1;

c3 = array [1..5] of c2;

c4 = array [1..10] of c3;

Для того, щоб звернутися до елементу масиву mas, необхідно після імені масиву вказати чотири індекси елемента: a [2] [3] [5] [1].

Var matr. array [1..3,1..5] of Integer;

Таким чином, ми оголосили двовимірний масив, який можна зобразити следующм чином:

масиви масивів

Для того, щоб звернутися до елементу масиву, зазначеного хрестиком, необхідно після зміни імені масиву вказати два індекси через кому в одних квадратних дужках: matr [2..4].

Таким способом можна описувати і більш складні масиви. Наприклад, 5-мірний масив можна оголосити таким чином:

Var ex: array [1..10,1..10,1..5,1..15,1..4] of Real;

Звертаючись до елементу даного масиву, необхідно вказувати п'ять його індексів: ex [1,1,1,1,1].

Особливий інтерес представляють двовимірні масиви, які ще називають квадратними і прямокутними таблицями. У науковій літературі їх часто називають матрицями, при цьому елементи матриць зображуються за допомогою двох індексів. Як саме це робиться, видно на прикладі наступних матриць.

Перший індекс - номер рядка, другий - номер стовпця; а13 Новомосковскется "а один три", а не "а тринадцять". У програмах на Delphi використовуються відповідно конструкції a [1,3].

Про матрицю має m рядків і n стовпців, кажуть, що вона має розмір m x n ( "m на n"). Якщо m = n, то матриця називається квадратної.

Для квадратної матриці елементи з однаковими індексами для рядків і стовпців становлять головну діагональ матриці. Для зображеної вище матриці елементи а11, а12, А33. Протилежна діагональ називається побічної діагоналлю. До неї відносяться елементи а13, а22, а31.

Як працювати з матрицями

Для обробки матриць найзручніше застосовувати вкладені цикли з параметром. Описаний нижче фрагмент програми призначений для заповнення матриці цілих чисел розміром 4 x 5 за допомогою компонента T StringGrid.

Допустима операція присвоювання

В системі програмування Delphi, для однакових масивів допустима операція присвоювання масиву масиву. Наприклад, якщо описано два масиви наступним чином:

Var A. B. array [1..50,1..60] of Real;

то допустима наступна операція присвоювання: А: = В;

Дана матриця дійсних чисел розміром 3x5. Обчислити суму елементів матриці.

Схожі статті