Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
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