← Повернутися до лекцій

Лекція 6: Одновимірні масиви

1. Що таке масив?

Масив — це набір змінних одного типу, які розташовані в пам'яті одна за одною і мають спільне ім'я.

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

2. Створення масиву

Щоб створити масив, треба вказати тип даних, ім'я та розмір у квадратних дужках [].

int grades[5]; // Масив, що може зберігати 5 цілих чисел

Можна одразу заповнити його даними при створенні:

int numbers[4] = {10, 20, 30, 40}; // Масив з 4 чисел
string colors[] = {"Red", "Green", "Blue"}; // Розмір (3) визначиться автоматично

3. Індексація (Найважливіше правило!)

Доступ до елементів масиву здійснюється за їх номером — індексом.

⚠️ Увага:

У С++ (і більшості мов) нумерація починається з НУЛЯ!

Розглянемо масив int A[3]:

  • A[0] — це перший елемент.
  • A[1] — це другий елемент.
  • A[2] — це третій (останній) елемент.

Важливо: Елемента A[3] не існує! Спроба звернутися до нього — це вихід за межі масиву (серйозна помилка).

Приклад роботи з елементами:

#include <iostream>
using namespace std;

int main() {
    int arr[3]; // Створили масив на 3 місця

    arr[0] = 50; // Поклали 50 у першу комірку
    arr[1] = 100;
    arr[2] = 150;

    cout << "Перший елемент: " << arr[0] << endl; // Виведе: Перший елемент: 50
    cout << "Сума другого і третього: " << arr[1] + arr[2] << endl; // Виведе: Сума другого і третього: 250

    return 0;
}

4. Масиви та Цикли — найкращі друзі

Працювати з кожним елементом вручну (arr[0], arr[1] ...) незручно, якщо елементів 100. Ми використовуємо цикл for, де лічильник i слугує індексом масиву.

Приклад: Заповнення масиву користувачем і вивід

#include <iostream>
using namespace std;

int main() {
    const int SIZE = 5; // Розмір масиву краще зберігати в константі
    int prices[SIZE];

    // 1. Введення даних (Запис)
    cout << "Введіть ціни на 5 товарів:" << endl;
    for (int i = 0; i < SIZE; i++) {
        cout << "Товар " << i + 1 << ": ";
        cin >> prices[i]; // Читаємо дані прямо в комірку i
    }

    // 2. Обробка даних (Читання)
    cout << "\nТовари дешевші за 100 грн: ";
    for (int i = 0; i < SIZE; i++) {
        if (prices[i] < 100) {
            cout << prices[i] << " ";
        }
    }
    return 0;
}

5. Обмеження масивів

Класичні (статичні) масиви в C++ мають суворі правила:

  • Розмір має бути відомий заздалегідь. Ви не можете запитати користувача "Скільки буде чисел?" і потім створити масив arr[n]. Деякі компілятори дозволяють це, але це нестандартна поведінка.
  • Розмір не можна змінювати. Якщо ви створили масив на 5 елементів, ви не можете "запхнути" шостий.

Практичні завдання до Лекції 6

Виконайте ці завдання в своєму середовищі розробки.

Завдання 1: Зворотний порядок

Створіть масив з 5 будь-яких цілих чисел (наприклад: 1, 2, 3, 4, 5). Використовуючи цикл for, виведіть ці числа на екран у зворотному порядку (від останнього до першого).

Підказка: Цикл має йти від останнього індексу (4) до 0.

Завдання 2: Пошук максимуму

Це класична алгоритмічна задача.

  1. Створіть масив з 5 чисел, які вводить користувач.
  2. Створіть змінну max і запишіть туди значення першого елемента масиву.
  3. Пройдіться циклом по решті елементів: якщо поточний елемент більший за max, оновіть значення max.
  4. Виведіть найбільше число.

Завдання 3: Середня температура

Створіть масив для збереження температури за тиждень (7 днів, тип double).

  1. Попросіть користувача ввести температуру для кожного дня.
  2. Порахуйте суму всіх значень.
  3. Поділіть суму на 7 і виведіть середню температуру за тиждень.