Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы - VB
Формулировка задачи:
Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы. найденные минимальные элементы элементы занести в массив MinMas, а максимальные элементы в массив MaxMas и расположить их соответственно по убыванию. и возрастанию. напечатать все массивы.
всё на что хватило ума это заполнить массив, а дальше вообще без понятий...
Листинг программы
- Dim Mac(1 To 100, 1 To 100), MinMas(1 To 100, 1 To 100), MaxMas(1 To 100, 1 To 100) As Single, Max As Single, Min As Single
- Dim n As Integer
- n = Val(InputBox(Введите количество Элементов(не больше100) "))
- For I = 1 To n
- For J = 1 To n
- Mac(I, J) = Int(Rnd) * 200
- Next J
- Next I
- Debug.Print Mac(I, J)
Решение задачи: «Определить минимальный элемент в каждом столбце и максимальный элемент в каждой строке матрицы»
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
- 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 "Массив максимальных элементов каждой строки исходного массива несортированный"
- For i = 1 To m
- Print MaxMas(i);
- Next i
- Print "Массив минимальных элементов каждого столбца исходного массива несортированный"
- For i = 1 To n
- Print MinMas(i);
- Next i
- 'Cортируем массив максимальных элементов по возрастанию, а минимальных -по убыванию.
- Call BubbleSortMin(MinMas, n)
- Call BubbleSortMax(MaxMas, m)
- Print "Массив максимальных элементов каждой строки исходного массива по возрастанию"
- For i = 1 To m
- Print MaxMas(i);
- Next i
- 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д