Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Двумерные массивы.doc
Скачиваний:
5
Добавлен:
26.11.2018
Размер:
152.58 Кб
Скачать

4.2. Нахождение суммы элементов

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

Пример 4.1. Вычислить сумму элементов заданного двумерного массива.

Дано: n, m – количество строк и столбцов массива соответственно, массив А[n, m].

Найти S – сумму элементов массива.

Тест

Данные

Результат

N

M

A

S

2

2

2 1

4 3

10

Фрагмент алгоритма

Исполнение алгоритма

S = 0

нц

Для i от 1 до n выполнить

нц

Для j от 1 до m выполнить

S = S + a[i, j]

кц

кц

i

j

S

0

1

1

0+ a1,1 = 0 + 2 = 2

2

a1,1 +a1,2 = 2 + 1 = 3

2

1

a1,1 +a1,2 + a2,1 = 3 + 4 = 7

2

a1,1 +a1,2 + a2,1 + a2,2=7 + 3 = 10

Пример 4.2. Вычислить сумму элементов строк заданного двумерного массива.

Дано: n, m – количество строк и столбцов массива соответственно, массив А[n, m].

Найти S[n] – сумму элементов строк массива.

Тест

Данные

Результат

N

M

A

S

2

2

2 1

4 3

3

7

Фрагмент алгоритма

Исполнение алгоритма

нц

Для i от 1 до n выполнить

S[i] = 0

нц

Для j от 1 до m выполнить

S[i] = S[i] + a[i, j]

кц

кц

i

j

S

1

S1 = 0

1

S1 = 0+ a1,1 = 0 + 2 = 2

2

S1 = a1,1 +a1,2 = 2 + 1 = 3

2

S2 = 0

1

S2 = 0 + a2,1 = 0 + 4 = 4

2

S2 = a2,1 + a2,2=4 + 3 = 7

В этом примере, в отличие от примера 4.1, мы нашли сумму элементов каждой строки матрицы. Поэтому для сохранения значений суммы мы использовали одномерный массив S[n], количество элементов в котором равно количеству строк матрицы.

Обратите внимание на то, где присваивается начальное значение переменной S. Если находится сумма всех элементов матрицы, то команда S = 0 записывается перед началом циклов. В результате получается значение S = 10. Если ставится задача нахождения суммы элементов строк матрицы, то команда S = 0 записывается внутри цикла по строкам матрицы, тогда результат представляет собой одномерный массив, в котором количество элементов равно количеству строк матрицы и S = (3, 7). Когда ставится задача нахождения суммы элементов столбцов матрицы, то команда S = 0 записывается внутри цикла по столбцам матрицы, тогда результат представляет собой одномерный массив, в котором количество элементов равно количеству столбцов матрицы и S = (6, 4).