В VBA дана матрица.размерности 5 на 5. Поменять в каждой строке минимальный и максимальный элементы. ввод с клавиатуры в лист exel не нужны кнопки и лишние атрибуты,просто код на уровне дет.сада
Вот пример кода на VBA, который меняет минимальный и максимальный элементы в каждой строке матрицы:
Sub ChangeMinMaxElements() Dim matrix(1 To 5, 1 To 5) As Double Dim i As Integer, j As Integer Dim minIndex As Integer, maxIndex As Integer Dim minValue As Double, maxValue As Double ' Заполнение матрицы данными (можно задать значения напрямую или считать из листа Excel) matrix = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]] ' Проход по каждой строке матрицы For i = 1 To 5 minValue = matrix(i, 1) minIndex = 1 maxValue = matrix(i, 1) maxIndex = 1 ' Нахождение минимального и максимального элементов в строке For j = 2 To 5 If matrix(i, j) < minValue Then minValue = matrix(i, j) minIndex = j End If If matrix(i, j) > maxValue Then maxValue = matrix(i, j) maxIndex = j End If Next j ' Обмен минимального и максимального элементов matrix(i, minIndex) = maxValue matrix(i, maxIndex) = minValue Next i ' Вывод измененной матрицы в лист Excel Range("A1:E5").Value = Application.Transpose(matrix) End Sub
Этот код создает матрицу 5x5, меняет минимальный и максимальный элементы в каждой строке и выводит измененную матрицу на лист Excel.
Вот пример кода на VBA, который меняет минимальный и максимальный элементы в каждой строке матрицы:
Sub ChangeMinMaxElements()Dim matrix(1 To 5, 1 To 5) As Double
Dim i As Integer, j As Integer
Dim minIndex As Integer, maxIndex As Integer
Dim minValue As Double, maxValue As Double
' Заполнение матрицы данными (можно задать значения напрямую или считать из листа Excel)
matrix = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]
' Проход по каждой строке матрицы
For i = 1 To 5
minValue = matrix(i, 1)
minIndex = 1
maxValue = matrix(i, 1)
maxIndex = 1
' Нахождение минимального и максимального элементов в строке
For j = 2 To 5
If matrix(i, j) < minValue Then
minValue = matrix(i, j)
minIndex = j
End If
If matrix(i, j) > maxValue Then
maxValue = matrix(i, j)
maxIndex = j
End If
Next j
' Обмен минимального и максимального элементов
matrix(i, minIndex) = maxValue
matrix(i, maxIndex) = minValue
Next i
' Вывод измененной матрицы в лист Excel
Range("A1:E5").Value = Application.Transpose(matrix)
End Sub
Этот код создает матрицу 5x5, меняет минимальный и максимальный элементы в каждой строке и выводит измененную матрицу на лист Excel.