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

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

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

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

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

textual
Листинг программы
  1. Sub test()
  2.    
  3.     Dim matrix() As Integer
  4.     Dim n As Variant
  5.     Dim mColumn As Variant
  6.     Dim minValue As Integer
  7.     Dim maxValue As Integer
  8.     Dim minElement As Integer
  9.     Dim nr As Integer
  10.    
  11.     minValue = 0
  12.     maxValue = 20
  13.      
  14.     Cells.Clear
  15.     n = InputBox("n = ")
  16.     ReDim matrix(1 To n, 1 To n)
  17.    
  18.     For i = 1 To n
  19.         For j = 1 To n
  20.             matrix(i, j) = Int((maxValue - minValue + 1) * Rnd + minValue)
  21.         Next j
  22.     Next i
  23.    
  24.     ReDim mColumn(1 To n)
  25.     minElement = matrix(1, 1)
  26.    
  27.     For i = 1 To n
  28.         For j = 1 To n
  29.             If i = j Then
  30.                 If minElement > matrix(i, j) Then
  31.                     nr = j
  32.                     minElement = matrix(i, j)
  33.                 End If
  34.             End If
  35.         Next j
  36.     Next i
  37.    
  38.     For i = 1 To n
  39.         mColumn(i) = matrix(i, nr)
  40.     Next i
  41.    
  42.     Range(Range("A1"), Range("A1").Offset(n - 1, n - 1)) = matrix
  43.     Range(Range("A1").Offset(0, n + 3), Range("A1").Offset(0, n + 3).Offset(n - 1, 0)) = WorksheetFunction.Transpose(mColumn)
  44.    
  45.     For i = 0 To n - 1
  46.         Range("A1").Offset(i, i).Interior.Color = 14408946
  47.     Next i
  48.    
  49. End Sub

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут