Поменять строки матрицы с наибольшим и наименьшим элементами между собой - VB

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

Дана матрица размером NxM.Поменяйте строки с наибольшим и наименьшим элементами этой матрицы между собой.

Код к задаче: «Поменять строки матрицы с наибольшим и наименьшим элементами между собой - VB»

textual
Option Explicit
Private Sub Command1_Click()
Dim a() As Single, n As Integer, m As Integer, i As Integer, j   As Integer
Dim temp As Single, min As Single, max As Single, i_min As Integer, i_max As Integer
n = InputBox("Количество строк =", "Ввод данных", 10): m = InputBox("Количество столбцов =", "Ввод данных", 5)
ReDim a(1 To n, 1 To m)
Cls
Randomize
Print "Исходный массив": Print
 
For i = 1 To n
  For j = 1 To m
     a(i, j) = Int(Rnd * 89) + 10
     Print vbTab; a(i, j);
  Next
  Print
Next
Print
 
min = a(1, 1): max = a(1, 1): i_min = 1: i_max = 1
 
For i = 1 To n
  For j = 1 To m
    If min > a(i, j) Then min = a(i, j): i_min = i
    If max < a(i, j) Then max = a(i, j): i_max = i
  Next
Next
 
If i_min = i_max Then Print "Максимальный и минимальный элемент находятся в одной строке"
Print
Print "Минимальный элемент = " & min & " , в " & i_min & " строке."
Print "Максимальный элемент = " & max & " , в " & i_max & " строке."
Print
 
For j = 1 To m
   temp = a(i_min, j): a(i_min, j) = a(i_max, j): a(i_max, j) = temp
Next
 
Print "Полученный массив"
Print
 
For i = 1 To n
  For j = 1 To m
      Print vbTab; a(i, j);
  Next
  Print
Next
 
End Sub

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


СОХРАНИТЬ ССЫЛКУ