Найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив Y - VB
Формулировка задачи:
Помогите пожалуйста! Очень нужна ваша помощь!
Найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив Y.
В программе предусмотреть ввод произвольного числа строк и столбцов матрицы, ввод элементов матрицы, ее контрольный ввод, обработку и ввод результатов.
Ребят, ну пожалуйста! Мне на завтра уже нужно очень срочно!!!
Решение задачи: «Найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив Y»
textual
Листинг программы
Option Explicit
Dim MatrixA() As Single, ArrayY() As Single
Dim m As Integer, n As Integer
Private Sub Command1_Click()
Randomize
m = InputBox("Введите количество строк", , 10)
n = InputBox("Введите колицество столбцов", , 10)
ReDim MatrixA(1 To m, 1 To n), ArrayY(1 To m)
InputMatrixA m, n
OutputMatrix MatrixA, m, n
InputArrayY MatrixA, m, n
OutputArray ArrayY, m
End Sub
Sub InputMatrixA(ByVal m As Integer, ByVal n As Integer)
Dim i As Long, j As Long
For i = 1 To m
For j = 1 To n
' MatrixA(i, j) = Val(InputBox("(" & Str(i) & "," & Str(j) & ")=")'Для ввода вручную раскомментируйте эту строку
MatrixA(i, j) = Int(Rnd * 20 - 10) 'Для ввода вручную закомментируйте эту строку
Next j
Next i
End Sub
Sub InputArrayY(a() As Single, ByVal m As Integer, ByVal n As Integer)
Dim i As Long, j As Long, maxStrA As Single
For i = 1 To m
maxStrA = MatrixA(i, 1)
For j = 1 To n
If maxStrA < MatrixA(i, j) Then
maxStrA = MatrixA(i, j)
End If
Next j
ArrayY(i) = maxStrA
Next i
End Sub
Sub OutputMatrix(a() As Single, ByVal m As Integer, ByVal n As Integer)
Dim i As Long, j As Long
Print
Print "Исходная матрица"
For i = 1 To m
For j = 1 To n
Print a(i, j); vbTab;
Next j
Print
Next i
End Sub
Sub OutputArray(a() As Single, ByVal n As Integer)
Dim i As Long
Print
Print "Массив максимальных элементов строк"
For i = 1 To n
Print a(i); vbTab;
Next i
End Sub