Подсчитать произведение элементов квадратной матрицы - VB
Формулировка задачи:
Задана квадратная матрица N*N целых чисел. Подсчитать произведение непарных элементов:
1) Выше главной диагонали;
2) Ниже главной диагонали;
3) Обоих случаев.
Такой вопрос как подсчитать произведение непарных элементов, парных я знаю просто шаг в цикле задать 2
Решение задачи: «Подсчитать произведение элементов квадратной матрицы»
textual
Листинг программы
Private Sub Command1_Click()
Dim A() As Single, pOver As Single, pUnder As Single
Dim n As Integer, m As Integer, i As Integer, j As Integer
n = InputBox("Введите кол-во строк -", , 5)
m = InputBox("Введите кол-во столбцов -", , 5)
If n <> m Then MsgBox ("Матрица не квадратная!"), vbInformation: Exit Sub
ReDim A(1 To n, 1 To m)
Txta.Text = "": pOver = 1: pUnder = 1
For i = 1 To n
For j = 1 To m
'A(i, j) = InputBox("A(" & i & j & ") =")
A(i, j) = Int(Rnd * 9 + 1)
Txta.Text = Txta.Text & A(i, j) & " "
Next j
Txta.Text = Txta.Text & vbCrLf
Next i
Txtb.Text = ""
For i = 1 To n Step 2
For j = 1 To m Step 2
'Txtb.Text = Txtb.Text & A(i, j) & " "
If j > i Then pOver = pOver * A(i, j)
If j < i Then pUnder = pUnder * A(i, j)
Next j
Txtb.Text = Txtb.Text & vbCrLf
Next i
Txtb.Text = Txtb.Text & vbCrLf & "Произведение непарных элементов выше главной диагонали " & pOver
Txtb.Text = Txtb.Text & vbCrLf & "Произведение непарных элементов ниже главной диагонали " & pUnder
Txtb.Text = Txtb.Text & vbCrLf & "Произведение непарных элементов выше и ниже главной диагонали " & pOver * pUnder
End Sub