Введение в многомерные массивы в C ++
Многомерные массивы в массивах C ++ используются для хранения данных в виде таблицы строк и столбцов. Здесь мы можем создать одиночные или многомерные массивы для хранения значений в разных сценариях. У одномерного есть одно измерение, тогда как многомерный массив может быть 2-мерным, 3-мерным и т. Д. Мы можем думать о многомерном массиве как о массиве массивов. Здесь данные хранятся в табличной форме. В этой статье мы увидим, что такое многомерный массив, использование многомерного массива, как получить к ним доступ и как эффективно использовать многомерный массив в нашем коде.
Элемент многомерного массива в C ++
- Давайте рассмотрим пример матрицы для понимания многомерного массива. В 2D-матрице будут строки и столбцы. Чтобы представить это, мы используем двумерный массив.
- В многомерных массивах данные представлены в виде таблицы, то есть в главном порядке строк. Общий синтаксис двумерного массива следующий.
data_type array_name(size1)(size2);
- Помните, что размер всегда является положительным целочисленным значением. Ниже приведен пример трехмерного массива.
int matrix(3)(5);
Здесь матрица - это двумерный массив, имеющий максимум 15 элементов.
- Максимальное количество элементов, содержащихся в массиве, получается умножением размера всех измерений. Например, в 3DArray (2) (3) (4) максимальный элемент получается умножением 2, 3, 4, то есть 24.
- Аналогично матрица (10) (10) (10) может содержать 1000 элементов. Мы можем визуализировать это, поскольку каждый из 10 элементов может содержать 10 элементов, что составляет в общей сложности 100 элементов. Каждые 100 элементов могут содержать еще 10 элементов, что делает окончательный счет 1000.
- Мы можем создать многомерный массив, сначала создав более простой массив, а затем расширив его до требуемого размера.
Инициализация многомерного массива
Позволяет нам взять массив 3D. Мы можем инициализировать трехмерный массив многими способами. Ниже приведены примеры для справки.
int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);
- Значения в цветочных скобках слева направо хранятся внутри массива в виде таблицы слева направо. Значения будут заполнены в массиве в следующем порядке. Первые 4 элемента слева в первом ряду, следующие 4 элемента во втором ряду и так далее.
- Приведенная выше инициализация не даст нам четкого представления о массиве. Для лучшей визуализации мы можем инициализировать тот же массив, что и ниже.
int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);
Доступ к элементам в многомерном массиве аналогичен любому другому массиву с использованием индекса элемента. Мы должны использовать три цикла для доступа ко всем элементам массива. Ниже приведен пример доступа к элементу в трехмерном массиве.
x(2)(1)(0)
- Для массивов более высокой размерности, таких как 4, 5, 6 и т. Д., Концепция очень похожа, но сложность обработки вещей увеличивается. Например, количество используемых циклов, количество поисков элементов, доступ к конкретному элементу и т. Д.
- Элементы трехмерных или более многомерных массивов могут перемещаться по-разному. Эта операция похожа на векторы и матрицы. Различные методы, такие как изменение формы, перестановка и сжатие, используются для перестановки элементов внутри массива. Это сложные приемы, о которых нам сейчас не нужно беспокоиться.
Пример с шагами
Вот несколько примеров многомерных массивов в C ++, приведенных ниже с шагами:
Пример № 1
Теперь мы будем использовать эти двухмерные массивы, чтобы понять, как будут работать многомерные массивы. Мы напишем код на C ++, который будет принимать от пользователя данные для двух матриц, добавлять их и отображать результат добавления матриц. Сначала мы напишем основную программу для исполнения.
Внутри основной функции мы объявим два двумерных массива, которые могут хранить до 4 элементов.
Теперь мы попросим пользователя ввести 4 значения для каждого массива.
Чтобы сохранить значения в массиве, нам нужны два цикла, т.е. каждое измерение использует один цикл для обхода. Мы возьмем два индекса, i и j для двух измерений. Для лучшего понимания кода мы будем использовать цикл for. Первый цикл for представляет первое измерение, второй цикл for для второго измерения. Внутри второго цикла for мы принимаем данные от пользователя.
Теперь аналогичным образом возьмите данные для второго массива.
Теперь, поскольку значения хранятся в каждом массиве, пришло время показать пользователю добавление двух массивов. Для этого мы снова используем два цикла for для обхода и этот cout для печати значений.
Выход:
Пример № 2
Мы объявляем массив любого количества элементов и используем их для выполнения различных функций, таких как сложение, вычитание, умножение, обратное, преобразование и т. Д. Для вычитания ниже может использоваться код:
Выберите разные входы и проверьте выходы и подсчитайте их математически.
Выход:
Вывод
В этой статье мы узнали, что такое массив, что такое одиночный и многомерный массив, значение многомерного массива, как инициализировать массив и как использовать многомерный массив в программе на основе наших потребностей.
Рекомендуемые статьи
Это руководство по многомерным массивам в C ++. Здесь мы обсуждаем синтаксис, элементы и инициализацию многомерного массива в C ++ вместе с примерами и шагами. Вы также можете посмотреть следующие статьи, чтобы узнать больше
- Многомерный массив в C
- Введение в C ++
- Руст против С ++
- Перегрузка и переопределение в C ++