Vba matrix

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

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

Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине — в позиции (2, 2), следующий по величине — в позиции (3, 3) и т. д., заполнив таким образом всю главную диагональ (оформить в виде процедуры).

Решение задачи: «Vba matrix»

textual
Листинг программы
Sub Diagonal_Maximumov()
    Dim i%, j%, k%, A, T!, Max!, MaxRow%, MaxCol%
    A = Range("A1:H8").Value
    For k = 1 To UBound(A)
        Max = -3.402823E+38
        MaxRow = 0
        For i = 1 To UBound(A)
            For j = 1 To UBound(A)
                If Max < A(i, j) And Not (i = j And i < k) Then
                    Max = A(i, j)
                    MaxRow = i
                    MaxCol = j
                End If
            Next j
        Next i
        If MaxRow > 0 Then
            T = A(k, k)
            A(k, k) = A(MaxRow, MaxCol)
            A(MaxRow, MaxCol) = T
        End If
    Next k
    Range("A1:G8").Value = A
End Sub

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


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

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

7   голосов , оценка 3.714 из 5