Рис. 42. Пример числовой матрицы, состоящей из 4 строк и 3 столбцов.
Расположение элемента в двухмерном массиве определяется номером строки и номером столбца, на пересечении которых находится этот элемент, поэтому каждый элемент матрицы имеет два индекса: первый индекс указывает на номер строки, а второй индекс показывает номер столбца.
Если номер строки обозначить буквой i,а номер столбца - буквой j,то для рассматриваемой нами матрицы B(см. рис. 42) будут справедливы следующие утверждения:
при i = 1и j= 2 B(i,j)= 2;при i = 3и j= 1 B(i,j)= 10и т.д.
Рассмотрим типовые задачи обработки двухмерных массивов.
Задача 7.Определить и вывести среднее арифметическое для элементов матрицы B,состоящей из 4 строк и 3 столбцов.
Среднее арифметическое представляет собой отношение суммы значений элементов к количеству этих элементов. Количество в данной задаче определять не нужно, т.к. оно известно ( 4 * 3), поэтому основная обработка сводится к определению суммы значений элементов.
Блок - схема алгоритма решения этой задачи приведена на рис.43.
На схеме хорошо видны два последовательно расположенных циклических участка: один - для организации ввода данных (блоки 2- 8), другой - для организации вычисления суммы значений элементов матрицы (блоки 10 -16).
Каждый из этих циклических участков представляет собой вложенные циклы.
Вложенныминазываются циклы, расположенные один в другом. Цикл, являющийся внешним, включает в свое тело внутренний цикл полностью.
Так на схеме (рис. 43) можно различить заголовок внешнего цикла c параметромi (блоки 2,7,8), тело внешнего цикла (блоки 3, 4, 5, 6), которое представляет собой внутренний цикл с параметром jсо своим заголовком (блоки 3, 5, 6) и телом цикла (блок 4).
1 начало i=1 j = 1 ввод B ( i, j ) j = j + 1 да 6 j £ 3 i = i + 1 ДА i £ 4 9 нет S = 0 i = 1 j = 1 S = S + B (i,j) j = j + 1 да 14 j £ 3 нет i = i + 1 да 16 i £ 4 нет S = S/12 вывод S конец |
Рис.43. Блок-схема алгоритма решения задачи 7.
1
начало
ввод
n, k
i = 1
j = 1
ввод
A (i, j)
j = j + 1
да i £ k
8 нет
i = i + 1
9 i £ n
M = A (1,1)
T = 1
L = 1
i = 1
j = 1
нет 15 да
A (i, j) < M
M = A (i, j)
T = i
L = j
j = j + 1
|