Понятие «двумерный массив» определим на примере. Пусть имеется ведомость следующего содержания:
Номер школы
Число выпускников
Число медалистов
Таблица представляет собой множество из двенадцати однородных величин – это массив. Но ее элементы расположены в 4 строки по 3 столбца в каждой.
Подобного рода таблицы из нескольких строк с равным числом элементов в каждой называют в информатике двумерными массивами. В математике подобные массивы называют матрицами.
Двумерный массив определяется именем, числом строк и столбцов и обозначается A[n, m], где А – произвольное имя массива; n – число строк, m – число столбцов. Обратите внимание на то, что сначала всегда указывается количество строк, а потом – количество столбцов.
Нашу таблицу можно обозначить так: A[4, 3], т.е. массив состоит из 4 строк и 3 столбцов.
Строки двумерных массивов нумеруются по порядку сверху вниз, а столбцы – слева направо.
Каждый элемент двумерного массива определяется номерами строки и столбца, на пересечении которых он находится, и в соответствии с этим обозначается именем массива с двумя индексами: первый – номер строки, второй – номер столбца. Например, A[1, 3] – элемент находится в первой строке и третьем столбце.
Элементы ведомости, представленной в примере, получат такие обозначения:
Таким образом, A[1, 1] = 122, A[2, 3] = 41 и т.д. Произвольный элемент двумерного массива мы будем обозначать A[i, j], где i – номер строки, а j – номер столбца.
Рассмотренные нами ранее алгоритмы решения задач обработки одномерных массивов могут применяться и для обработки двумерных массивов. Поскольку положение элемента в двумерном массиве описывается двумя индексами, алгоритмы для решения большинства матричных задач строятся на основе вложенных циклов. Обычно внешний цикл организуется по строкам матрицы, то есть в нем выбирается требуемая строка матрицы, а внутренний – по столбцам матрицы, в нем выбирается элемент строки.
Задать значения элементам двумерного массива можно всеми способами, описанными для одномерных массивов: вводом значений с клавиатуры, с помощью генератора случайных чисел, присваиванием значений.
В отличие от одномерных массивов для ввода и вывода данных необходимо использовать вложенные циклы. Циклы являются арифметическими, т. к. количество строк и столбцов известно.
Ввод двумерного массива
Вывод двумерного массива
Ввести n, m
нц
Для i от 1 до n повторять
нц
Дляj от1 до m повторять
Ввод(a[i, j])
кц
кц
нц
Дляi от 1 до n повторять
нц
Дляj от 1 до m повторять
Вывод a[i, j]
кц
кц
Мы ввели и вывели элементы произвольного массива, имеющего n строк и m столбцов. Понятно, что количество строк и столбцов необходимо предварительно задать.