Сменить знак максимального по модулю элемента на противоположный. - VB

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста Нужно написать программу для решения задачи(с помощью двумерного массива)

В каждой строке (столбце) матрицы сменить знак максимального по модулю элемента на противоположный.

Решение задачи: «Сменить знак максимального по модулю элемента на противоположный.»

textual
Листинг программы
Private Sub Form_Load()
    Const i_max As Long = 7 'строк
    Const j_max As Long = 9 'столбцов
    Const rnd_min As Long = -100 'случайное число (минимум)
    Const rnd_max As Long = 100 'случайное число (максимум)
    Dim a(1 To i_max, 1 To j_max) As Long, i As Long, j As Long, s As String, max_pos(1 To i_max) As Long
 
    s = "Исходный массив:" & String(2, vbNewLine)
 
    Randomize
    For i = 1 To i_max
        max_pos(i) = 1
        For j = 1 To j_max
            a(i, j) = Int((rnd_max - rnd_min + 1) * Rnd) + rnd_min
            s = s & a(i, j) & vbTab
            If Abs(a(i, max_pos(i))) < Abs(a(i, j)) Then max_pos(i) = j
        Next j
        s = s & vbNewLine
    Next i
    
    s = s & String(2, vbNewLine) & "Измененный массив:" & String(2, vbNewLine)
    
    For i = 1 To i_max
        a(i, max_pos(i)) = -a(i, max_pos(i))
        For j = 1 To j_max
            s = s & a(i, j) & vbTab
        Next
        s = s & vbNewLine
    Next
    
    Me.AutoRedraw = True
    Me.Print s
End Sub

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

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