Отображение матрицы по вертикали - VB

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

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

нужно написать процедуру,которая возвращает матрицу m*n передаваемая в качестве параметра отображенную по вертикали на 180, как это сделать в отдельной процедуре?
Листинг программы
  1. Option Explicit
  2. Option Base 1
  3. Dim S(), l() As Integer
  4. Dim a, b As String
  5. Dim j, i, m, n As Integer
  6. Sub trs()
  7. m = InputBox("m =")
  8. n = InputBox(" n =")
  9. ReDim S(m, n), l(n, m)
  10. For i = 1 To m
  11. For j = 1 To n
  12. S(i, j) = InputBox("Элемент S(" & i & "," & j & ")=")
  13. Next j
  14. Next i
  15. a = ""
  16. For i = 1 To m
  17. For j = 1 To n
  18. a = a & Str(S(i, j)) & " "
  19. Next j
  20. a = a + Chr(13)
  21. Next i
  22. MsgBox (a)
  23. For i = 1 To m
  24. For j = 1 To n
  25. l(j, i) = S(i, j)
  26. Next j
  27. Next i
  28. b = ""
  29. For i = 1 To n
  30. For j = 1 To m
  31. b = b & Str(l(i, j)) & " "
  32. Next j
  33. b = b + Chr(13)
  34. Next i
  35. MsgBox (b)
  36. End Sub
вот на что способен мой мозг,помогите пожалуйста!

Решение задачи: «Отображение матрицы по вертикали»

textual
Листинг программы
  1. Option Explicit
  2. Sub main()
  3.     Dim A() As Integer, i As Integer, j As Integer
  4.     Dim n As Integer, m As Integer, s As String
  5.     n = 8
  6.     m = 7
  7.     Randomize
  8.     Cls
  9.     ReDim A(1 To n, 1 To m)
  10.    
  11.     s = "Исходная матрица" & vbCrLf
  12.     For i = 1 To n
  13.         For j = 1 To m
  14.            A(i, j) = Int(Rnd * 9 + 1)
  15.            s = s & A(i, j) & vbTab
  16.         Next j
  17.         s = s & vbCrLf
  18.     Next i
  19.     s = s & vbCrLf
  20.    
  21.     ReflectMatrix A
  22.    
  23.     s = s & "Результат" & vbCrLf
  24.     For i = 1 To n
  25.         For j = 1 To m
  26.            s = s & A(i, j) & vbTab
  27.         Next j
  28.         s = s & vbCrLf
  29.     Next i
  30.    
  31.     MsgBox s
  32. End Sub
  33.  
  34. Private Sub ReflectMatrix(ByRef A() As Integer)
  35.     Dim n1 As Integer, m1 As Integer, n2 As Integer, m2 As Integer
  36.     Dim i As Integer, j As Integer, B() As Integer
  37.     n1 = LBound(A, 1): n2 = UBound(A, 1)
  38.     m1 = LBound(A, 2): m2 = UBound(A, 2)
  39.     ReDim B(n1 To n2, m1 To m2)
  40.     For i = n1 To n2
  41.         For j = m1 To m2
  42.             B(i, j) = A(n2 - i + 1, m2 - j + 1)
  43.         Next j
  44.     Next i
  45.     A = B
  46. End Sub

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


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

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

12   голосов , оценка 4.167 из 5

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

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

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