Эки өлчөмдүү массив
Көп өлчөмдүү массив - эки же андан көп өлчөмдөгү массив. Көп өлчөмдүү массивдин элементине жетүү үчүн эки же андан көп индекстердин айкалышы колдонулат.
Көп өлчөмдүү массивди жарыялоонун жалпы формасы төмөнкүдөй:
@A@type [,...,] array_name = new type [ size1 , size2 , ..., size N ];@A@
- type - түздөн-түз массив элементтеринин түрү;
- size1 , size2 , өлчөмү N – ар бир массивдин өлчөмү. N маанисимассивдин N өлчөмдүү экенин билдирет.
Мисал float тибиндеги реалдуу сандардын эки өлчөмдүү массивин жарыялайт
@A@// 3*4 реалдуу сандар массивинин жарыяланышы жана колдонулушу
float [,] M = new float [3, 4]; // массив үчүн эстутум бөлөт
// массивди ыктыярдуу маанилер менен толтуруу
( int i = 0; i < 3 ; i++)
for ( int j = 0; j < 4; j++)
M[i, j] = ( float )(i * 0,2 + j * 0,3);
// жеке массив клеткаларына маанилерди жазыңыз
M[0, 1] = 0.35f;
M[2, 2] = 1.45f;@A@
Массивдин инициализациясы программада жарыяланган учурда массивдин уячаларына маанилерди жазууга мүмкүндүк берет. Көп өлчөмдүү массивди инициализациялоонун жалпы формасы төмөнкүдөй:
@A@type [,] массив_аты = { { маани, маани, ..., маани },
{ маани, маани, ..., маани },
...
{ маани, маани, ..., маани } };@A@
- тип – массив элементтеринин түрү;
- маани - массивдин элементтери инициализацияланган маани.
В примере реализуется массив двумерных массивов с именем M. Массив имеет 10 строк. В каждой строке формируется двумерный массив размером 3×4.
@A@// объявление массива из 10 двумерных массивов вещественных чисел, каждый из которых имеет размер 3*4
float[][,] M; // объявление переменной типа "массив двумерных массивов"
// выделение памяти для 10 двумерных массивов типа float
M = new float[10][,];
// выделение памяти для каждого массива размером 3*4
for (int i = 0; i < 10; i++)
M[i] = new float[3, 4];
// заполнение массивов произвольными значениями
for (int i = 0; i < 10; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 4; k++)
M[i][j, k] = i * 10 + j * 3 + k;
M[0][2, 1] = 20.44f;
M[2][0, 2] = 100.08f;@A@