Глава 4. Алгоритмы, использующие
двумерные массивы
4.1. Понятие двумерного массива
Понятие «двумерный массив» определим на примере. Пусть имеется ведомость следующего содержания:
| Номер школы | Число выпускников | Число медалистов |
| 122 | 25 | 2 |
| 35 | 41 | 5 |
| 13 | 56 | 7 |
| 20 | 38 | 0 |
Таблица представляет собой множество из двенадцати однородных величин - это массив. Но ее элементы расположены в 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 столбцов. Понятно, что количество строк и столбцов необходимо предварительно задать.
| Следующая > |
|---|






