Лекція 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: Пошук максимуму
Це класична алгоритмічна задача.
- Створіть масив з 5 чисел, які вводить користувач.
- Створіть змінну
maxі запишіть туди значення першого елемента масиву. - Пройдіться циклом по решті елементів: якщо поточний елемент більший за
max, оновіть значенняmax. - Виведіть найбільше число.
Завдання 3: Середня температура
Створіть масив для збереження температури за тиждень (7 днів, тип double).
- Попросіть користувача ввести температуру для кожного дня.
- Порахуйте суму всіх значень.
- Поділіть суму на 7 і виведіть середню температуру за тиждень.