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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д