Массив — набор ячеек памяти, содержащих информацию одного типа. В отличие от переменной, хранящей одно значение, массив хранит множество значений. Например, массив может состоять из 20 переменных, каждая из которых называется элементом массива. Массивы могут содержать данные различных типов: целые числа, логические значения (true/false), символы (char), числа с плавающей точкой (float, double) и другие. Рассмотрим одномерные и двумерные массивы.
Одномерные массивы
Для объявления одномерного массива укажите тип данных элементов, имя массива, квадратные скобки [] и количество элементов (или инициализируйте массив, тогда размер определится автоматически). Пример массива целых чисел:
int arr[3] = {3, 7, 5};
Этот код объявляет массив arr из трёх целых чисел и инициализирует его значениями 3, 7 и 5. Если инициализация происходит при создании, указание размера массива можно опустить:
int arr[] = {3, 7, 5};
Компилятор определит размер массива как 3.
Индексация элементов массива начинается с нуля. В массиве arr:
- arr[0] = 3
- arr[1] = 7
- arr[2] = 5
Доступ к элементам
Для доступа к элементу используется имя массива и индекс элемента в квадратных скобках. Например, для вывода на экран значения первого элемента массива arr:
std::cout << arr[0] << std::endl; // Выведет 3
Перебор элементов с помощью цикла
Удобный способ перебора элементов массива — использование цикла:
for (int i = 0; i < 3; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl; // Выведет 3 7 5
Этот код перебирает все элементы arr и выводит их на экран.
Запись данных в массив
Запись данных в массив аналогична доступу к элементам:
arr[2] = 34;
Этот код изменяет значение третьего элемента arr (с индексом 2) на 34.
Ввод данных с клавиатуры
Данные в массив можно вводить с клавиатуры:
int arr[3];
for (int i = 0; i < 3; i++) {
std::cin >> arr[i];
}
Двумерные массивы
Двумерный массив — массив, элементы которого сами являются массивами. Объявление двумерного массива аналогично одномерному, но с двумя парами квадратных скобок:
int arr[3][2] = {{23, 34}, {12, 5}, {7, 9}};
Этот код объявляет двумерный массив arr размером 3×2.
Доступ к элементам двумерного массива
Для доступа к элементу используются два индекса:
std::cout << arr[0][1] << std::endl; // Выведет 34
Этот код выводит элемент, расположенный в первой строке (индекс 0) и втором столбце (индекс 1).
Перебор элементов двумерного массива
Перебор элементов двумерного массива осуществляется с помощью вложенных циклов:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
Этот код выведет элементы массива в виде матрицы.
Вывод в виде матрицы
Для более наглядного вывода двумерного массива в виде матрицы можно использовать символ табуляции:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
std::cout << arr[i][j] << "t"; // t - символ табуляции
}
std::cout << std::endl;
}
В этом уроке рассмотрены основы работы с одномерными и двумерными массивами в C++. Массивы — фундаментальная структура данных, и понимание их работы необходимо для дальнейшего изучения языка. Трехмерные и более высокомерные массивы основаны на тех же принципах, что и двумерные, используя вложенные циклы для доступа и обработки элементов.