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

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

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

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

Решение задачи: «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

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


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

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

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