- •О. О. Абакумова «Інформатика-2. Програмування та алгоритмічні мови»
- •Теоретичні відомості
- •Цикл for
- •Переривання циклу: оператори break, сontinue, return.
- •Приклад програми
- •Контрольні питання
- •Рекомендована література
- •Доступ до елементів двомірного масиву
- •Ініціалізація двомірного масиву
- •Приклад програми
- •Контрольні питання
- •Теоретичні відомості
- •Визначення двомірного масиву
- •Рекомендована література
- •Теоретичні відомості
- •Оголошення функції
- •Визначення функції
- •Виклик функції
- •Приклад програми
- •Контрольні питання
- •Рекомендована література
- •Визначення структурних змінних
- •Інший спосіб визначення структурних змінних
- •Доступ до полів структури
- •Контрольні питання
- •Рекомендована література
- •Теоретичні відомості
- •Оголошення класу
- •Доступ до членів класу
- •Конструктор класу
- •Деструктор класу
- •Приклад програми
- •Контрольні питання
- •Рекомендована література
- •Теоретичні відомості
- •Оголошення похідного класу
- •Доступ до базового класу
- •Приклад програми
- •Контрольні питання
- •Рекомендована література
- •Теоретичні відомості
- •Контрольні питання
- •Рекомендована література
- •Комплексні числа
- •Операції над множинами
- •Векторне числення
- •Геометрія
Теоретичні відомості
У С++ можна використовувати багатомірні масиви. Найпростіший багатомірний масив – двомірний. Двомірний масив, по суті, являє собою список одномірних масивів.
Визначення двомірного масиву
Загальний синтаксис оголошення двомірного масиву наступний:
тип_даних ім’я_масиву [розмір1][розмір2];
Наприклад,
int b[10][10]; // оголошення двомірного масиву цілих чисел розміром 10х10
double s[3][4]; // оголошення двомірного масиву дійсних чисел розміром 3x4
Зверніть увагу! При оголошенні двомірного масиву у С++ кожна розмірність укладається у власну пару квадратних дужок.
Доступ до елементів двомірного масиву
Для роботи з масивом його елементи нумерують. Номер позиції елемента всередині масиву називають його індексом. У С++ індексація масивів починається з нуля.
У двомірному масиві позиція будь-якого елемента визначається двома індексами. Якщо уявити двомірний масив у вигляді таблиці, то перший індекс (за угодою) означає рядок, а другий – стовпчик. З цього випливає, що, якщо доступ до елементів масиву надати у порядку, в якому вони реально зберігаються у пам’яті, то правий індекс буде змінюватися швидше, ніж лівий.
Для звернення до певного елемента двомірного масиву вказують ім'я масиву та індекси елемента, укладені у квадратні дужки:
ім’я_масиву [індекс1][індекс2];
Наприклад,
int b[3][5]; // доступ до елемента двомірного масиву з координатами 3, 5
float list[2][3]; // доступ до елемента двомірного масиву з координатами 2, 3
Ініціалізація двомірного масиву
Багатомірні масиви можуть отримувати початкові значення у своїх оголошеннях так само, як одномірні масиви, за допомогою списку ініціалізації.
Формат ініціалізації двомірного масиву базується на тому факті, що двомірний масив, по суті, являє собою список одномірних масивів. Ініціалізуючі значення для кожного підмасиву укладають у фігурні дужки, розділяючи комами, а потім всі ці підмасиви також укладають у дужки та розділяють комами.
Наприклад,
int b[2][3]={
{1, 2, 3},
{5, 6, 7},
}; // ініціалізація двомірного масиву цілих чисел розміром 2x3
Якщо початкових значень у підмасиві не вистачає, то решті елементів автоматично присвоюється нульове початкове значення.
Приклад програми
Завдання: Задано двомірний масив дійсних чисел 3 на 4. Ініціалізувати елементи масиву послідовністю чисел від 1 до 12.
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;
void main()
{
int i, j, mas[3][4];
for(i=0; i < 3; ++i)
{
for(j=0; j < 4; ++j)
{
mas[i][j] = (i*4)+j+1;
cout << setw(4)<<mas[i][j];
}
cout << endl;
}
getch();
}
Контрольні питання
Що називають масивом?
Які масиви називають двомірними?
Наведіть синтаксис оголошення двомірного масиву.
Наведіть синтаксис звернення до певного елемента двомірного масиву.
В який спосіб можна задавати початкові значення елементам масиву?
Як ініціалізувати двомірний масив за допомогою списку ініціалізації?
Як ініціалізувати двомірний масив за допомогою циклу for?
Які початкові значення отримають елементи двомірного масиву у наступному випадку ініціалізації: array[2][3] = {1, 2, 3, 4, 5, 6};
Які початкові значення отримають елементи двомірного масиву у наступному випадку ініціалізації: array[2][3]= {{1, 2}, {4}};
Чим визначається обсяг пам’яті, що виділяється для багатомірного масиву?
Які операції над багатомірними масивами підтримуються С++?
