Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объявление многомерных массивов






Многомерные массивы определяются аналогично одномерным массивам. Количество элементов по каждому измерению указывается отдельно в квадратных скобках:

 

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

Ввод-вывод массивов

Ранее были рассмотрены приемы ввода-вывода простых предопределенных типов данных (int, double, char и bool) с помощью потоков ввода и вывода. Стандартные потоки ввода и вывода не “умеют” работать с массивами, поэтому ввод и вывод массивов необходимо реализовывать самостоятельно, обрабатывая массивы поэлементно.

Большинство алгоритмов по обработке массивов реализуются с помощью циклов. Ввод и вывод массивов не являются исключением.

Начнем с рассмотрения операций вывода значений элементов массивов на экран.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.