Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы - VB
Формулировка задачи:
Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы. найденные минимальные элементы элементы занести в массив MinMas, а максимальные элементы в массив MaxMas и расположить их соответственно по убыванию. и возрастанию. напечатать все массивы.
всё на что хватило ума это заполнить массив, а дальше вообще без понятий...
Решение задачи: «Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы»
textual
Листинг программы
Option Explicit Private Sub Command1_Click() Dim Mac() As Single, MinMas() As Single, MaxMas() As Single Dim i As Integer, j As Integer Dim n As Integer, m As Integer Randomize Cls m = Val(InputBox("Введите количество строк ", , 10)) n = Val(InputBox("Введите количество столбцов ", , 10)) ReDim Mac(1 To n, 1 To n), MinMas(1 To n), MaxMas(1 To m) As Single 'Заполняем массив и печатаем его For i = 1 To m For j = 1 To n Mac(i, j) = Int(Rnd * 100) Print vbTab; Mac(i, j); Next j Print Next i 'Находим в каждой строке максимальный элемент и записываем его в массив MaxMas For i = 1 To m MaxMas(i) = Mac(i, 1) For j = 1 To n If MaxMas(i) < Mac(i, j) Then MaxMas(i) = Mac(i, j) Next j Next i 'Находим в каждом столбце минимальный элемент и записываем его в массив MinMas For i = 1 To n MinMas(i) = Mac(1, i) For j = 1 To m If MinMas(i) > Mac(j, i) Then MinMas(i) = Mac(j, i) Next j Next i Print Print "Массив максимальных элементов каждой строки исходного массива несортированный" For i = 1 To m Print MaxMas(i); Next i Print Print "Массив минимальных элементов каждого столбца исходного массива несортированный" For i = 1 To n Print MinMas(i); Next i Print 'Cортируем массив максимальных элементов по возрастанию, а минимальных -по убыванию. Call BubbleSortMin(MinMas, n) Call BubbleSortMax(MaxMas, m) Print "Массив максимальных элементов каждой строки исходного массива по возрастанию" For i = 1 To m Print MaxMas(i); Next i Print Print "Массив минимальных элементов каждого столбца исходного массива по убыванию" For i = 1 To n Print MinMas(i); Next i End Sub ' Сортировка по возрастанию Public Sub BubbleSortMax(ByRef Arr() As Single, ByRef n As Integer) Dim i As Long Dim j As Long Dim Tmp As Double For i = 1# To n + 1 Step 1 For j = 1# To n - i Step 1 If Arr(j) > Arr(j + 1#) Then Tmp = Arr(j) Arr(j) = Arr(j + 1#) Arr(j + 1#) = Tmp End If Next j Next i End Sub 'Сортировка по убыванию Public Sub BubbleSortMin(ByRef Arr() As Single, ByRef n As Integer) Dim i As Long Dim j As Long Dim Tmp As Double For i = 1# To n + 1 Step 1 For j = 1# To n - i Step 1 If Arr(j) < Arr(j + 1#) Then Tmp = Arr(j) Arr(j) = Arr(j + 1#) Arr(j + 1#) = Tmp End If Next j Next i End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д