VBA-Матрица,диагональ(главная,побочная) - VBA

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

Дана квадратная матрица порядка N. Вывести столбец матрицы, в котором элемент, стоящий на главной (побочной) диагонали, минимален, среди элементов главной диагонали.

Код к задаче: «VBA-Матрица,диагональ(главная,побочная) - VBA»

textual
Sub test()
    
    Dim matrix() As Integer
    Dim n As Variant
    Dim mColumn As Variant
    Dim minValue As Integer
    Dim maxValue As Integer
    Dim minElement As Integer
    Dim nr As Integer
    
    minValue = 0
    maxValue = 20
      
    Cells.Clear
    n = InputBox("n = ")
    ReDim matrix(1 To n, 1 To n)
    
    For i = 1 To n
        For j = 1 To n
            matrix(i, j) = Int((maxValue - minValue + 1) * Rnd + minValue)
        Next j
    Next i
    
    ReDim mColumn(1 To n)
    minElement = matrix(1, 1)
    
    For i = 1 To n
        For j = 1 To n
            If i = j Then
                If minElement > matrix(i, j) Then
                    nr = j
                    minElement = matrix(i, j)
                End If
            End If
        Next j
    Next i
    
    For i = 1 To n
        mColumn(i) = matrix(i, nr)
    Next i
    
    Range(Range("A1"), Range("A1").Offset(n - 1, n - 1)) = matrix
    Range(Range("A1").Offset(0, n + 3), Range("A1").Offset(0, n + 3).Offset(n - 1, 0)) = WorksheetFunction.Transpose(mColumn)
    
    For i = 0 To n - 1
        Range("A1").Offset(i, i).Interior.Color = 14408946
    Next i
    
End Sub
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

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


СДЕЛАЙТЕ РЕПОСТ