Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
1.7 kB
1
Indexable
Never
Private Sub CommandButton1_Click()


Sub ReduceMatrix()
    Dim n As Integer
    Dim i As Integer, j As Integer
    Dim maxVal As Double
    Dim maxRow As Integer, maxCol As Integer
    
    ' Задаем размерность матрицы
    n = 5
    
    ' Создаем исходную матрицу
    Dim matrix(n, n) As Double
    ' Заполняем матрицу случайными значениями
    For i = 1 To n
        For j = 1 To n
            matrix(i, j) = Rnd() * 10 ' Здесь можно использовать любые значения
        Next j
    Next i
    
    ' Находим элемент с наибольшим по модулю значением
    maxVal = Abs(matrix(1, 1))
    For i = 1 To n
        For j = 1 To n
            If Abs(matrix(i, j)) > maxVal Then
                maxVal = Abs(matrix(i, j))
                maxRow = i
                maxCol = j
            End If
        Next j
    Next i
    
    ' Удаляем строку и столбец с максимальным элементом
    For i = maxRow To n - 1
        For j = 1 To n
            matrix(i, j) = matrix(i + 1, j)
        Next j
    Next i
    
    For j = maxCol To n - 1
        For i = 1 To n - 1
            matrix(i, j) = matrix(i, j + 1)
        Next i
    Next j
    
    ' Выводим полученную матрицу в окно сообщений
    Dim result As String
    result = ""
    For i = 1 To n - 1
        For j = 1 To n - 1
            result = result & " " & matrix(i, j)
        Next j
        result = result & vbCrLf
    Next i
    
    MsgBox result


End Sub
Leave a Comment