Главная Обратная связь

Дисциплины:






Суммирование и перемножение элементов массивов



 

Нахождение суммы или произведения всех или некоторых элементов массива является одной из основных операций при работе с массивами.

Пример. Найти сумму элементов одномерного массива .

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

 

Dim A(1 То 15) As Single, i As Integer, S As Single

'Ввод массива

• • •

S = 0 'Начальное значение суммы

For i = 1 То 15

S = S + A(i) 'Накапливание суммы

Next i

Если требуется вычислить произведение, то в приведенном фрагменте достаточно заменить начальное значение переменной на 1, а знак « + » на « * ».

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

 

 

 

Главной диагональю квадратной матрицы называется диагональ, прохо­дящая через левый верхний и правый нижний угол, т. е. совокупность элемен­тов с одинаковыми индексами. Соответственно элементы, расположенные на диагонали, проходящей через правый верхний и левый нижний угол, составля­ют побочную диагональ матрицы.

Для перебора элементов матрицы ниже главной диагонали организуем двойной цикл. Во внешнем цикле будем изменять номер строки. Как видно из таблицы индекс i (номер строки) для элементов ниже главной диагонали изменя­ется от 2 до 5. Во внутреннем цикле будем изменять номер столбца. Как видно, что для второй строки индекс j изменяется от 1 до 1, для третьей - от 1 до 2, для четвертой - от 1 до 3, для пятой - от 1 до 4, т. е. в общем случае - от 1 до .

 

Sub Massiv7()

Dim B(l To 5, 1 To 5) As Single

Dim i As Integer, j As Integer

Dim P As Single 'Произведение

 

'Ввод матрицы

'----------------

 

'Начальное значение произведения

Р = 1

For i = 2 To 5

For j = 1 To i - 1

'Накопление произведения

Р = Р * B(i, j)

Next j

Next i

 

End Sub

 





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...