Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Option Explicit
Const N As Long = 5
Private Sub Form_Load()
Dim a(0 To N - 1, 0 To N - 1) As Long
Fill a
PrintM a
Sort1 a
Sort2 a
PrintM a
End Sub
Private Sub Fill(a() As Long)
'заполнение матрицы
Dim i As Long, j As Long
For i = 0 To UBound(a, 1)
For j = 0 To UBound(a, 2)
a(i, j) = Int(Rnd * 10)
Next
Next
End Sub
Private Sub PrintM(a() As Long)
'печать матрицы
Dim i As Long, j As Long
For i = 0 To UBound(a, 1)
For j = 0 To UBound(a, 2)
Cells(i + 1, j + 1) = a(i, j)
Next
Next
End Sub
Private Sub Sort1(a() As Long)
Dim i As Long
Dim j As Long
Dim t As Long
'сортировка по основной диагонали
For i = 0 To N - 1
For j = i + 1 To N - 1
ClearInterior
Cells(j + 1, j + 1).Interior.Color = vbRed
Cells(i + 1, i + 1).Interior.Color = vbRed
Stop
If a(j, j) < a(i, i) Then
t = a(j, j)
a(j, j) = a(i, i)
a(i, i) = t
End If
Next
Next
ClearInterior
End Sub
Private Sub Sort2(a() As Long)
Dim i As Long
Dim j As Long
Dim t As Long
'сортировка по побочной диагонали
For i = 0 To N - 2
For j = i + 1 To N - 1
ClearInterior
Cells(j + 1, N - j).Interior.Color = vbRed
Cells(i + 1, N - i).Interior.Color = vbRed
Stop
If a(j, N - 1 - j) < a(i, N - 1 - i) Then
t = a(j, N - 1 - j)
a(j, N - 1 - j) = a(i, N - 1 - i)
a(i, N - 1 - i) = t
End If
Next
Next
ClearInterior
End Sub
Sub ClearInterior()
'очистка заливки поля
Dim i As Long, j As Long
For i = 1 To 5
For j = 1 To 5
Cells(i, j).Interior.Color = vbWhite
Next
Next
End Sub