В ступенчатых массивах количество элементов в разных строках может
различаться. В памяти хранится ступенчатый массив иначе, чем прямоугольный – в виде нескольких внутренних массивов, каждый из которых имеет свой размер (массив массивов). Кроме того, выделяется отдельная область памяти для хра- нения ссылок на каждый из внутренних массивов. Под каждый из массивов, со- ставляющих ступенчатый массив, память требуется выделять явным образом.
Примеры описания ступенчатых двумерных массивов:
int[][] a = new int[3][]; // выделение памяти под ссылки на 3 строки
a[0] = new int[5]; // выделение памяти под 0-ю строку (5 элементов) a[1] = new int[3]; // выделение памяти под 1-ю строку (3 элемента) a[2] = new int[4]; // выделение памяти под 2-ю строку (4 элемента)
Сокращенный вариант: int[][] a = { new int[5], new int[3], new int[4] };
Обращение к элементам ступенчатого массива: a[0][3], a[1][2], a[i][j].
Пример3
Формированиеивыводступенчатогомассивачисел.
Создадим проект сon143. Наберем код программы в теле метода Main:
// построчно объявляем и заполняем массив из 3-х одномерных массивов
int[][] jag = new int[3][]
{ new int[] {3,7,9,5,12}, new int[] {2,4}, new int[] {1,3,5} };
// построчно выводим три внутренних одномерных массива
foreach (int[] arr in jag)
{ foreach (int a in arr) Console.Write("{0,4}", a); Console.WriteLine();
} Console.ReadKey();
Протестируем программу. Откорректируем программный код.
Заданиядлясамостоятельнойработы
Создайте консольные приложения, в которых выполняются заданные действия:
Формируется и выводится прямоугольный массив (5 строк и 6 столбцов) целых случайных чисел от –40 до 40. Вычисляется и выводится: а) сумма чисел в каждой строке; б) среднее арифметическое чисел в каждой строке;
Формируется и выводится прямоугольный массив (n строк и m столб- цов) целых случайных чисел от –50 до 50. Вычисляется и выводится: а) среднее арифметическое отрицательных чисел в каждой строке; в) сумма и среднее арифметическое положительных четных чисел в каждой строке; д) сумма и среднее арифметическое всех чисел.
Формируется и выводится прямоугольный массив – таблица умножения двух чисел от 1 до 10.
Формируется и выводится прямоугольный массив (6 строк и 8 столбцов) целых случайных чисел от –70 до 70. Вычисляется и выводится: а) максималь- ный элемент в кажой строке; б) минимальный положительный элемент в каж- дой строке.
Формируется и выводится прямоугольный массив (n строк и m столб- цов) целых случайных чисел от –90 до 90. Вычисляется и выводится: а) мини- мальный из всех отрицательных элементов; б) максимальный из модулей всех элементов массива.
*Формируется и выводится прямоугольный массив (n строк и m столб- цов) целых случайных чисел от –80 до 80. Вычисляется и выводится: а) в каж- дой строке находится минимальный элемент и заменяется нулем; б) в каждом столбце находится максимальный элемент и заменяется единицей.