Отображение матрицы по вертикали - VB
Формулировка задачи:
нужно написать процедуру,которая возвращает матрицу m*n передаваемая в качестве параметра отображенную по вертикали на 180, как это сделать в отдельной процедуре?
вот на что способен мой мозг,помогите пожалуйста!
Листинг программы
- Option Explicit
- Option Base 1
- Dim S(), l() As Integer
- Dim a, b As String
- Dim j, i, m, n As Integer
- Sub trs()
- m = InputBox("m =")
- n = InputBox(" n =")
- ReDim S(m, n), l(n, m)
- For i = 1 To m
- For j = 1 To n
- S(i, j) = InputBox("Элемент S(" & i & "," & j & ")=")
- Next j
- Next i
- a = ""
- For i = 1 To m
- For j = 1 To n
- a = a & Str(S(i, j)) & " "
- Next j
- a = a + Chr(13)
- Next i
- MsgBox (a)
- For i = 1 To m
- For j = 1 To n
- l(j, i) = S(i, j)
- Next j
- Next i
- b = ""
- For i = 1 To n
- For j = 1 To m
- b = b & Str(l(i, j)) & " "
- Next j
- b = b + Chr(13)
- Next i
- MsgBox (b)
- End Sub
Решение задачи: «Отображение матрицы по вертикали»
textual
Листинг программы
- Option Explicit
- Sub main()
- Dim A() As Integer, i As Integer, j As Integer
- Dim n As Integer, m As Integer, s As String
- n = 8
- m = 7
- Randomize
- Cls
- ReDim A(1 To n, 1 To m)
- s = "Исходная матрица" & vbCrLf
- For i = 1 To n
- For j = 1 To m
- A(i, j) = Int(Rnd * 9 + 1)
- s = s & A(i, j) & vbTab
- Next j
- s = s & vbCrLf
- Next i
- s = s & vbCrLf
- ReflectMatrix A
- s = s & "Результат" & vbCrLf
- For i = 1 To n
- For j = 1 To m
- s = s & A(i, j) & vbTab
- Next j
- s = s & vbCrLf
- Next i
- MsgBox s
- End Sub
- Private Sub ReflectMatrix(ByRef A() As Integer)
- Dim n1 As Integer, m1 As Integer, n2 As Integer, m2 As Integer
- Dim i As Integer, j As Integer, B() As Integer
- n1 = LBound(A, 1): n2 = UBound(A, 1)
- m1 = LBound(A, 2): m2 = UBound(A, 2)
- ReDim B(n1 To n2, m1 To m2)
- For i = n1 To n2
- For j = m1 To m2
- B(i, j) = A(n2 - i + 1, m2 - j + 1)
- Next j
- Next i
- A = B
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д