Лекция по теме
Читать

Лекция по теме "Многомерные массивы"

Cкачать презентацию: Лекция по теме "Многомерные массивы"

Вставить эту публикацию

Вставить код

    Ничего не найдено.
Click here to cancel reply.

Презентация по слайдам:


Слайд #1

Лекция
Многомерные массивы

Слайд #2

Ранг
Массивы характеризуются таким понятием как ранг или количество измерений. В прошлой лекции рассматривались массивы, которые имеют одно измерение (то есть их ранг равен 1) - такие массивы можно представлять в виде горизонтального ряда элемента. Но массивы также бывают многомерными. У таких массивов количество измерений (то есть ранг) больше 1.

Слайд #3

Массивы которые имеют два измерения (ранг равен 2) называют двухмерными. Например, создадим одномерный и двухмерный массивы, которые имеют одинаковые элементы:


Визуально оба массива можно представить следующим образом:

Слайд #4

Поскольку массив nums2 двухмерный, он представляет собой простую таблицу. Все возможные способы определения двухмерных массивов:

Слайд #5

Массивы могут иметь и большее количество измерений. Объявление трехмерного массива могло бы выглядеть так:


Соответственно могут быть и четырехмерные массивы и массивы с большим количеством измерений. Но на практике чаще всего используются одномерные и двухмерные массивы.

Слайд #6

Определенную сложность может представлять перебор многомерного массива. Прежде всего надо учитывать, что длина такого массива - это совокупное количество элементов.


В данном случае длина массива mas равна 12. И цикл foreach выводит все элементы массива в строку:

Слайд #7

Но что если мы хотим отдельно пробежаться по каждой строке в таблице? В этом случае надо получить количество элементов в размерности. В частности, у каждого массива есть метод GetUpperBound(dimension), который возвращает индекс последнего элемента в определенной размерности. И если мы говорим непосредственно о двухмерном массиве, то первая размерность (с индексом 0) по сути это и есть таблица. И с помощью выражения mas.GetUpperBound(0) + 1 можно получить количество строк таблицы, представленной двухмерным массивом. А через mas.Length / rows можно получить количество элементов в каждой строке:

Слайд #8

Слайд #9

Массив массивов
От многомерных массивов надо отличать массив массивов или так называемый "зубчатый массив":



Здесь две группы квадратных скобок указывают, что это массив массивов, то есть такой массив, который в свою очередь содержит в себе другие массивы. Причем длина массива указывается только в первых квадратных скобках, все последующие квадратные скобки должны быть пусты: new int[3][]. В данном случае у нас массив nums содержит три массива. Причем размерность каждого из этих массивов может не совпадать.

Слайд #10

Примеры массивов

Слайд #11

Причем можно использовать в качестве массивов и многомерные:





Так, здесь представлен массив из трех массивов, причем каждый из этих массивов представляет двухмерный массив.

Слайд #12

Используя вложенные циклы, можно перебирать зубчатые массивы. Например:

Слайд #13

Задание
1. Есть массив int[,] massiv = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } }. Необходимо вывести в консоль все элементы через цикл foreach.
2. Есть массив int[,] massiv = { { 23, 25, 13 }, { -4, 55, 21 }, { -86, 45, 63 }, { 14, 18, 22 }, { -12, 11, 32 } }. Необходимо вывести в консоль все элементы через цикл for в виде таблицы.
3. С помощью двумерного массива вывести на экран таблицу умножения.