Вычислить сумму элементов, расположенных над главной диагональю матрицы - VB

Узнай цену своей работы

Формулировка задачи:

здравствуйте очень нужна помощь вот в этом задании: Даны две матрицы А(n,n) и В(m,m). Для каждой вычислить сумму элементов, расположенных над главной диагональю(с помощью процедуры) через этот код у меня не получается я не знаю в чем ошибка подскажите пожалуйста
Листинг программы
  1. Option Explicit
  2. Dim a() As Integer, B() As Integer
  3. Private Sub cmdA_Click()
  4. Dim i As Byte, j As Byte, n As Integer
  5. n = InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê ГЁ ñòîëáöîâ Гў Г¬Г*Г±Г±ГЁГўГҐ A", "Ââîä")
  6. ReDim a(1 To n, 1 To n) As Integer
  7. Print: Print: Print "ГЊГ*Г±Г±ГЁГў ГЂ:"
  8. cmdA.Visible = False
  9. cmdAV.Enabled = True
  10. cmdB.Enabled = False
  11. cmdBV.Enabled = False
  12. For i = 1 To n
  13. For j = 1 To n
  14. a(i, j) = Rnd * 10 - 5
  15. Print a(i, j);
  16. Print vbTab;
  17. Next j
  18. Print
  19. Next i
  20. End Sub
  21. Private Sub cmdAV_Click()
  22. Dim a As Integer
  23.  
  24. Call MySub(a)
  25. lblA.Caption = a
  26. End Sub
  27. Private Sub cmdB_Click()
  28. Dim i As Byte, j As Byte, m As Integer
  29. m = InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê ГЁ ñòîëáöîâ Гў Г¬Г*Г±Г±ГЁГўГҐ B", "Ââîä")
  30. ReDim B(1 To m, 1 To m) As Integer
  31. Print: Print: Print "ГЊГ*Г±Г±ГЁГў B:"
  32. cmdA.Visible = False
  33. cmdAV.Enabled = False
  34. cmdB.Visible = False
  35. cmdB.Enabled = False
  36. cmdBV.Enabled = True
  37. cmdBV.Visible = True
  38. For i = 1 To m
  39. For j = 1 To m
  40. B(i, j) = Rnd * 10 - 5
  41. Print B(i, j);
  42. Print vbTab;
  43. Next j
  44. Print
  45. Next i
  46. End Sub
  47. Private Sub MySub(ByRef sum As Integer, ByVal i As Byte, ByVal j As Byte, ByVal l As Integer)
  48. l = UBound(X)
  49. sum = 0
  50. For i = 1 To l - 1
  51. For j = i + 1 To l
  52. sum = sum + X(i, j)
  53. Next j
  54. Next i
  55. Print sum
  56. End Sub

Решение задачи: «Вычислить сумму элементов, расположенных над главной диагональю матрицы»

textual
Листинг программы
  1. Dim a() As Integer, B() As Integer
  2.  
  3. Private Sub ComA_Click()
  4. Form1.Cls
  5. Dim i As Byte, j As Byte, n As Integer
  6. n = InputBox("Введите количество строк и столбцов в массиве A", "Ввод")
  7. ReDim a(1 To n, 1 To n) As Integer
  8. Print: Print: Print "Массив А:"
  9.  
  10. For i = 1 To n
  11.     For j = 1 To n
  12.         a(i, j) = Rnd * 10 - 5
  13.         Print a(i, j);
  14.         Print vbTab;
  15.     Next j
  16.     Print
  17. Next i
  18.     l = UBound(a)
  19.     sum = 0
  20. For i = 1 To l - 1
  21.     For j = i + 1 To l
  22.         sum = sum + a(i, j)
  23.     Next j
  24. Next i
  25. Print "сумма над диоганалы="
  26. Print sum
  27. ''''''''''''''''''''''''''''''''''''''''''''''''2-oy massiv nachinaetsya
  28. m = InputBox("Введите количество строк и столбцов в массиве B", "Ввод")
  29. ReDim B(1 To m, 1 To m) As Integer
  30. Print: Print: Print "Массив B:"
  31. For i = 1 To m
  32.     For j = 1 To m
  33.         B(i, j) = Rnd * 10 - 5
  34.         Print B(i, j);
  35.         Print vbTab;
  36.     Next j
  37.     Print
  38. Next i
  39.     l = UBound(B)
  40.     sum = 0
  41. For i = 1 To l - 1
  42.     For j = i + 1 To l
  43.         sum = sum + B(i, j)
  44.     Next j
  45. Next i
  46. Print "сумма над диоганалы="
  47. Print sum
  48. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы