Сумма, произведение, количество, минимум и максимум в двумерных массивах вычисляются точно так же, как и в одномерных, только после задания начальных значений нужно открыть не один, а два цикла (по строкам и по столбцам).
S = 0: P = 1: K = 0: Min = 32000: Max = – 32000
For i = 1 To N
For j = 1 To N
S = S + x(i, j)
P = P * x(i, j)
K = K + 1
If x(i, j) < Min Then Min = x(i, j)
If x(i, j) > Max Then Max = x(i, j)
Next j
Next i
Пример
Задана целочисленная матрица X(5, 5). Вычислить значение выражения
,
где Р – произведение четных элементов матрицы; S – сумма нечетных элементов; Max – максимальный из положительных элементов; iMin, jMin – номера строки и столбца минимального элемента матрицы.
Программный код
Option Explicit
Sub PR23()
Dim X(5, 5) As Integer
Dim i As Integer, j As Integer
Dim T As Double, S As Double
Dim P As Double, Q As Double
Dim Max As Integer, Min As Integer
Dim iMin As Integer, jMin As Integer
‘ очистка ячеек электронной таблицы
Range(Cells(1, 1), Cells(100, 100)).Select
Selection.Clear
Cells(1, 1).Select
Randomize
For i = 1 To 5 ‘ ввод матрицы
For j = 1 To 5
Cells(i, j) = Int(Rnd * 100 – 50)
X(i, j) = Cells(i, j)
Next j
Next i
P = 1: S = 0: Max = –32000: Min = 32000
For i = 1 To 5
For j = 1 To 5
If X(i, j) Mod 2 = 0 Then P = P * X(i, j)
If X(i, j) Mod 2 <> 0 Then S = S + X(i, j)
If X(i, j) > 0 And X(i, j) > Max Then Max = X(i, j)
If X(i, j) < Min Then
Min = X(i, j)
iMin = i
jMin = j
End If
Next j
Next i
T = P * S – Max * iMin * jMin
If T >= 0 Then
Q = Sqr(T)
MsgBox ("Q=" & Q)
Else
MsgBox ("нет решения")
End If
End Sub