cplus-plus.ru logo
Мы переехали на cplus-plus.ru
Главная страница В закладкиО сайтеКарта сайта
Добавить в закладки

Меню сайта

Полезные ссылки

Наша рассылка
Подписаться на рассылку
"C++ : cplus-plus.ru :
Рассылка статей C++"


Друзья сайта
alsproject.ru Выбор выходного разделительного конденсатора

Приветствую Вас, Гость · rss 03-Авг-2020, 15:49
Главная » Статьи » Статьи по C++

Двумерные массивы в C++
Двумерный массив – это одномерный массив из одномерных массивов.
Для примера определим двумерный массив 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
Категория: Статьи по C++ | Добавил: FazaNaka (16-Июл-2010)
Просмотров: 806 | Рейтинг: 0.0/0