|
Хочу получить удостоверение. Сколько стоит оплата? |
Многомерные массивы
Массивы, имеющие размерность более единицы, называются многомерными. Для доступа к их элементам в зависимости от их размерности используют разное количество пар квадратных скобок []. Например, массив double c[6][7] является двумерным массивом вещественных чисел, содержащим 6 строк и 7 столбцов, иными словами, матрица 6?7. Инициализировать массивы можно по-разному. В первом случае, элементы каждой строки заключают в скобки, отделяемые друг от друга запятой, во втором случае пишут все числа подряд, а программа сама решает какому столбцу в какой строке принадлежит конкретный элемент. Понятно, что первый способ предпочтительнее, так как он избавляет нас от путаницы в тех случаях, когда мы вводим неполный массив. Еще раз хотим напомнить, что первый элемент строки имеет нулевой индекс.
//==========================================================
// Name : multidimensional_array.cpp
// Author : Marat
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//==========================================================
#include <iostream>
using namespace std;
//Эти директивы препроцессора определяют
//максимальный размер массива
#define n 5 //Количество строк
#define m 3 //Количество столбцов
int main() {
int i,j;
double d[n][m]= {//Таким образом мы явно указываем строки
{1, 2, 3 },
{4, 5, 6 },
{7, 8, 9 },
{10,11,12},
{13,14,15}
};
cout<<"\nd array 5x3:";
for(i=0;i<n;i++)
{
cout<<"\n";
for(j=0;j<m;j++)
{
cout<<"\t"<<d[i][j];
}
}
cout<<"\n"<<endl;
cout<<"\na array 3x2: ";
double a[3][2]= {1,2,3,4,5,6};
//Программа сама определяет строки и столбцы
for(i=0;i<3;i++)
{
cout<<"\n";
for(j=0;j<2;j++)
{
cout<<"\t"<<a[i][j];
}
}
cout<<"\n"<<endl;
return 0;
}
Результат:
d array 5x3: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a array 3x2: 1 2 3 4 5 6