Найти максимальный элемент матрицы в верхнем треугольнике - VB
Формулировка задачи:
Задали такую задачу: дана матрица размерностью 9 на 9, нужно найти максимальный элемент матрицы в верхнем треугольнике (если матрицу разделить как конверт для писем) и вывести какой это элемент и его номер столбца и строки. Чем быстрее тем лучше, потому что препод задает ещё одну задачу если не усел сделать эту к следующей паре. Заранее большое спасибо.
Решение задачи: «Найти максимальный элемент матрицы в верхнем треугольнике»
textual
Листинг программы
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.AutoRedraw = True
Dim m(), i As Integer, j As Integer, N As Integer
Dim max_m, i_max, j_max
Dim r As String
1 N = Val(InputBox("вводим размерность m", , 9)) 'N = 10
If N < 3 Then
MsgBox " N>=3"
GoTo 1
End If
ReDim m(N, N)
Me.Cls
r = ""
Randomize
For i = 1 To N
For j = 1 To N
m(i, j) = Val(InputBox("вводим m(" & i & "," & j & ")", , Int(Rnd * 100)))
r = r & m(i, j) & " "
Next j
r = r & vbCrLf
Next i
r = r & vbCrLf & "-----------------" & vbCrLf
max_m = m(1, 1)
i_max = 1: j_max = 1
For i = 1 To Int(N / 2) + 1 ' или For i = 1 To N \ 2 + 1
For j = 1 To 2 * i
r = r & " "
Next j
For j = i To N - i + 1
r = r & m(i, j) & " "
If max_m < m(i, j) Then
max_m = m(i, j)
i_max = i: j_max = j
End If
Next j
r = r & vbNewLine
Next i
r = r & vbCrLf & "-----------------" & vbCrLf
r = r & "max( i , j ) = m ( " & i_max & " , " & j_max & " ) = " & max_m
Me.Print r ' или MsgBox r
End Sub