Вычислить сумму элементов, расположенных над главной диагональю матрицы - VB
Формулировка задачи:
здравствуйте очень нужна помощь вот в этом задании: Даны две матрицы А(n,n) и В(m,m). Для каждой вычислить сумму элементов, расположенных над главной диагональю(с помощью процедуры)
через этот код у меня не получается я не знаю в чем ошибка подскажите пожалуйста
Листинг программы
- Option Explicit
- Dim a() As Integer, B() As Integer
- Private Sub cmdA_Click()
- Dim i As Byte, j As Byte, n As Integer
- n = InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê ГЁ ñòîëáöîâ Гў Г¬Г*Г±Г±ГЁГўГҐ A", "Ââîä")
- ReDim a(1 To n, 1 To n) As Integer
- Print: Print: Print "ГЊГ*Г±Г±ГЁГў ГЂ:"
- cmdA.Visible = False
- cmdAV.Enabled = True
- cmdB.Enabled = False
- cmdBV.Enabled = False
- For i = 1 To n
- For j = 1 To n
- a(i, j) = Rnd * 10 - 5
- Print a(i, j);
- Print vbTab;
- Next j
- Next i
- End Sub
- Private Sub cmdAV_Click()
- Dim a As Integer
- Call MySub(a)
- lblA.Caption = a
- End Sub
- Private Sub cmdB_Click()
- Dim i As Byte, j As Byte, m As Integer
- m = InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê ГЁ ñòîëáöîâ Гў Г¬Г*Г±Г±ГЁГўГҐ B", "Ââîä")
- ReDim B(1 To m, 1 To m) As Integer
- Print: Print: Print "ГЊГ*Г±Г±ГЁГў B:"
- cmdA.Visible = False
- cmdAV.Enabled = False
- cmdB.Visible = False
- cmdB.Enabled = False
- cmdBV.Enabled = True
- cmdBV.Visible = True
- For i = 1 To m
- For j = 1 To m
- B(i, j) = Rnd * 10 - 5
- Print B(i, j);
- Print vbTab;
- Next j
- Next i
- End Sub
- Private Sub MySub(ByRef sum As Integer, ByVal i As Byte, ByVal j As Byte, ByVal l As Integer)
- l = UBound(X)
- sum = 0
- For i = 1 To l - 1
- For j = i + 1 To l
- sum = sum + X(i, j)
- Next j
- Next i
- Print sum
- End Sub
Решение задачи: «Вычислить сумму элементов, расположенных над главной диагональю матрицы»
textual
Листинг программы
- Dim a() As Integer, B() As Integer
- Private Sub ComA_Click()
- Form1.Cls
- Dim i As Byte, j As Byte, n As Integer
- n = InputBox("Введите количество строк и столбцов в массиве A", "Ввод")
- ReDim a(1 To n, 1 To n) As Integer
- Print: Print: Print "Массив А:"
- For i = 1 To n
- For j = 1 To n
- a(i, j) = Rnd * 10 - 5
- Print a(i, j);
- Print vbTab;
- Next j
- Next i
- l = UBound(a)
- sum = 0
- For i = 1 To l - 1
- For j = i + 1 To l
- sum = sum + a(i, j)
- Next j
- Next i
- Print "сумма над диоганалы="
- Print sum
- ''''''''''''''''''''''''''''''''''''''''''''''''2-oy massiv nachinaetsya
- m = InputBox("Введите количество строк и столбцов в массиве B", "Ввод")
- ReDim B(1 To m, 1 To m) As Integer
- Print: Print: Print "Массив B:"
- For i = 1 To m
- For j = 1 To m
- B(i, j) = Rnd * 10 - 5
- Print B(i, j);
- Print vbTab;
- Next j
- Next i
- l = UBound(B)
- sum = 0
- For i = 1 To l - 1
- For j = i + 1 To l
- sum = sum + B(i, j)
- Next j
- Next i
- Print "сумма над диоганалы="
- Print sum
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д