![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Многомерные массивы определяются аналогично одномерным массивам. Количество элементов по каждому измерению указывается отдельно в квадратных скобках:
int A1 [5] [3]; // Двумерный массив, элементами которого являются
// значения типа int
double D [10] [15] [3]; // Трехмерный массив, элементами которого являются
// значения типа double
Здесь массив A1 представляет собой обычную двумерную матрицу из 5-ти строк и 3–х столбцов.
Массив D – трехмерный массив, который можно представить как трехмерный параллелограмм, навранный из 3-х двумерных матриц.
Общее число элементов в многомерном массиве определяется как произведение количества элементов по каждому измерению. Так, например, массив D содержит 10 * 15 * 3 = 450 элементов типа double, а объем памяти, требующийся для этого массива, будет равен 450 * 4 = 1800 байтам.
Массивы с большим, чем 3, количеством измерений используются достаточно редко. Одной из причин этого является быстрый рост объема памяти, необходимой для размещения таких массивов.
В следующей таблице показана схема размещения элементов массива A1 в памяти:
i | |||||||||||||||
j | |||||||||||||||
A1[i][j] |
Так же как и в одномерном массиве, элементы многомерных массивов располагаются друг за другом в непрерывном участке памяти.
При определении многомерные массивы могут инициализироваться определенными значениями. Для получения массива A1 с теми значениями элементов, которые приведены в таблице, можно инициализировать массив следующим образом:
int A1 [5] [3] =
{
1, 1, 1,
2, 4, 8,
3, 9, 27,
4, 16, 64,
5, 25, 125
};
или так:
int A1 [ ] [3] =
{
1, 1, 1,
2, 4, 8,
3, 9, 27,
4, 16, 64,
5, 25, 125
};
Во втором определении опущен размер массива по первому индексу, при этом автоматически ему назначается значение 5 в соответствии с инициализирующими значениями. Размеры массивов по второму и по следующим индексам опускать нельзя.
Для доступа к определенному элементу многомерного массива необходимо указать в квадратных скобках конкретные значения всех индексов этого элемента. Например:
cout << A1 [1] [2]; // На экран выведено значение 8
Дата публикования: 2014-11-26; Прочитано: 157 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!