Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы - 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

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


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

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

11   голосов , оценка 3.727 из 5
Похожие ответы