Двумерный массив можно представить вот таким образом:
тип имя_массива[величина 2 нахождения][размер 1 нахождения];
Также в этой программе пользователь имеет право использовать многомерные массивы, заявляя которые нужно обозначить правый размер всякого нахождения в других квадратных скобках.
Определение двумерного массива можно представить следующим образом:
int a[ 4 ][ 3 ];
Имеющееся у нас первое значение (4) указывает нам на размер строк, второе значение (3) показывает чему равен размер столбцов. Об объекте a следует сказать,что он определяется как массив из четырех строк и самое главное в каждой из них должно находиться по три элемента. Что касается многомерных массивов,конечно,они тоже могут быть инициализированы:
int ia[ 4 ][ 3 ] = {
{ 0, 1, 2 },
{ 3, 4, 5 },
{ 6, 7, 8 },
{ 9, 10, 11 }
};
Внутренние фигурные скобки, служат для того,чтобы разделять меню значений на строки,они неважны и применяются, как правило, для того,чтобы пользователь мог комфортно прочесть шифр. [ 1] Обратимся к инициированию .
Оно указано ниже и ,несомненно, соответствует примеру, который располагается выше , но тем не менее является не совсем понятным :
int ia[4][3] = { 0,1,2,3,4,5,6,7,8,9,10,11 };
Второе определение инициализирует лишь первые элементы каждой строки. Те элементы ,которые остались будут равны нулю:
int ia[ 4 ][ 3 ] = { {0}, {3}, {6}, {9} };
Если опустить внутренние фигурные скобки, конечный результат окажется вовсе другим. Все 3 элемента первой строки и первый элемент второй строки получат указанное значение, а оставшиеся будут неявно инициализированы 0.
int ia[ 4 ][ 3 ] = { 0, 3, 6, 9 };
В случае если мы обратимся к элементам данного многомерного массива надо использовать индексы для каждого из существующих измерений (они обязательно должны быть заключены в квадратные скобки). А теперь посмотрим как же все-таки выглядит инициализация двумерного массива с помощью вложенных циклов:
int main()
{
const int rowSize = 4;
const int colSize = 3;
int ia[ rowSize ][ colSize ];
for ( int i = 0; i < rowSize; ++i )
for ( int j = 0; j < colSize; ++j )
ia[ i ][ j ] = i + j j;
}
Разберем конструкцию ia[ 1, 2 ].Она допускается в синтаксисе С++. Если говорить об агрегате в квадратных скобках –это есть ничто иное,как список выражений через запятую.Что получится в итоге?Бесспорно ,самое последнее значение 2 (см. оператор “запятая” в разделе под цифрами 4.2).Из этого следует ,что объявление ia[1,2] равносильно ia[2].Нужно быть осторожным, дабы не допустить ошибку. [ 2 ]
Итак, мы немного рассмотрели тему «двумерные массивы» ,разобрали некоторые ее конструкции.Поведя итоги,отмечу ,что это емкая и интересная тема ,являющейся обязательной для изучения новоиспеченного программиста ,который начинает связывать свою жизнь с информационной деятельностью и вливаться в IT-сферу.
Список использованных интернет-ресурсов:
1.c-cpp.ru
2. cppstudio.com