Двумерный массив – это одномерный массив из одномерных массивов.
Для примера определим двумерный массив m размером 3 x 4.
int m [3] [4] ;
Покажем, что такое определение логически вытекает из представления о двумерном массиве как об одномерном массиве из одномерных же массивов.
Начнем с того, что сначала объявим промежуточный тип M – одномерный массив из 4-х целых чисел
typedef int M [4];
Теперь определение M x; означает тоже самое, что int x[4];, каким бы ни было выражение x.
Определим одномерный массив из элементов типа M, т.е. массив символов.
M m[3];
В роли x здесь выступает выражение m[3]. Подставим его в int x[4]; и получим объявление двумерного массива без промежуточного типа M, как это обычно и делается.
int m[3][4];
Исходя из общего принципа размещения элементов массива в памяти (плотно и в порядке возрастания номеров), можно утверждать, что элементы двумерного массива m[3][4] займут места в памяти в следующем порядке: m[0][0], m[0][0], m[0][1], m[0][2], m[0][3], m[1][0], m[1][1], m[1][2], m[1][3], m[2][0], m[2][1], m[2]2], m[2][3].
Пример. Ввести матрицу M размера 3 x 3. Поменять местами начальную и последнюю строки и вывести результат на экран.
// объявить, определить и инициализировать массив
int M [3] [3] = {{11,12,13}, {21,22,23}, {31,32,33}};
// поменять местами строки
for (int j = 0; j < 3; j++)
{
int R = M [0] [j];
M [0] [j] = M [1] [j];
M [1] [j] = R;
}
// вывести массив построчно
for (int i = 0; i < 3; i++)
{
for (j=0; j < 3; j++)
{
cout << M [i] [j] << " ";
}
cout << endl;
}
Источник: http://www.cplus-plus.ru
Добро пожаловать в блог официального сайта www.cplus-plus.ru
Все представленные материалы в этом блоге находятся по адрусу www.cplus-plus.ru
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Поиск по этому блогу
Каталог статей
Подписаться на:
Комментарии к сообщению (Atom)
for (j=0; j < 3; j++)
ОтветитьУдалитьЗабыли поставить идентификатор int перед j
не суть
УдалитьДля новичков это очень важно, этим Вы можете его запутать!
УдалитьНе помешало бы краткое определение typedef
ОтветитьУдалить