Урок №81. Багатовимірні масиви

  Юрій  | 

  Оновл. 28 Чер 2020  | 

 165

Елементи масиву можуть бути будь-якого типу даних, навіть масиву!

Багатовимірні масиви

Масив масивів називається багатовимірним масивом:

Оскільки у нас є 2 індекси, то це двовимірний масив.

У двовимірному масиві перший (лівий) індекс прийнято читати як кількість рядків, а другий (правий) — як кількість стовпців. Масив вище можна представити наступним чином:

[0][0]  [0][1]  [0][2]  [0][3]  // рядок №0
[1][0]  [1][1]  [1][2]  [1][3]  // рядок №1

Щоб отримати доступ до елементів двовимірного масиву, просто використовуйте 2 індекси:

Ініціалізація двовимірних масивів

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

Хоча деякі компілятори можуть дозволити вам пропустити внутрішні фігурні дужки, все ж рекомендується вказувати їх у будь-якому випадку — поліпшується читабельність:

У двовимірному масиві зі списком ініціалізаторів можна не вказувати тільки лівий індекс (довжину масиву):

Компілятор може сам обчислити кількість рядків в масиві. Однак не вказувати два індекси — це вже помилка:

Подібно звичайним масивам, багатовимірні масиви можна ініціалізувати значенням 0 наступним чином:

Зверніть увагу, що це працює тільки в тому випадку, якщо ви явно оголошуєте довжину масиву (вказуєте лівий індекс)! В протилежному випадку, ви отримаєте двовимірний масив з 1 рядком.

Доступ до елементів у двовимірному масиві

Для доступу до всіх елементів двовимірного масиву потрібно два цикли: один для рядків і один для стовпців. Оскільки доступ до двовимірних масивів зазвичай виконується по рядках, то лівий індекс використовується в якості зовнішнього циклу:

Багатовимірні масиви більше двох вимірів

Багатовимірні масиви можуть бути більше двох вимірів. Наприклад, оголошення тривимірного масиву:

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

Доступ до елементів тривимірного масиву здійснюється так само, як і до елементів двовимірного масиву:

Приклад двовимірного масиву

Розглянемо приклад використання двовимірного масиву:

Ця програма обчислює і виводить таблицю множення від 1 до 9 (включно). Зверніть увагу, при виведенні таблиці в циклі for ми починаємо з 1 замість 0. Це робиться з метою запобігання виведенню нульового рядка з нульовими стовпцями, щоб в результаті у нас не було рядка з одними нулями!

Результат виконання програми:

1   2    3    4    5    6    7    8    9
2   4    6    8    10   12   14   16   18
3   6    9    12   15   18   21   24   27
4   8    12   16   20   24   28   32   36
5   10   15   20   25   30   35   40   45
6   12   18   24   30   36   42   48   54
7   14   21   28   35   42   49   56   63
8   16   24   32   40   48   56   64   72
9   18   27   36   45   54   63   72   81

Двовимірні масиви зазвичай використовуються в іграх типу tile-based, де кожен елемент масиву представляє собою один фрагмент/плитку. Вони також використовуються в комп’ютерній 3D-графіці (у вигляді матриць) для обертання, масштабування і відображення фігур.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (1 оцінок, середня: 5,00 з 5)
Loading...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *