Хочу получить удостоверение. Сколько стоит оплата? |
Многомерные массивы
Массивы, имеющие размерность более единицы, называются многомерными. Для доступа к их элементам в зависимости от их размерности используют разное количество пар квадратных скобок []. Например, массив 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