Дан двумерный массив размером n*m, заполненный случайным образом - VB

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

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

Дан двумерный массив размером n*m, заполненный случайным образом. 1.Вставить после каждой строки, содержащей максимальный по модулю элемент, строку из нулей.

Решение задачи: «Дан двумерный массив размером n*m, заполненный случайным образом»

textual
Листинг программы
Option Explicit
Private Sub Command1_Click()
    Dim A() As Integer, B() As Integer, n  As Integer, m As Integer, f As Boolean
    Dim i As Integer, j As Integer, Max As Integer, k As Integer
    n = Val(InputBox("Введите количество строк", "Ввод данных", 9))
    m = Val(InputBox("Введите количество столбцов", "Ввод данных", 8))
    ReDim A(1 To n, 1 To m)
    Me.AutoRedraw = True
    Randomize
    Cls
    Print "Исходная матрица:"
    For i = 1 To n
        For j = 1 To m
             A(i, j) = Int(Rnd * 21 - 10)
             Print A(i, j) & vbTab;
        Next j
        Print
    Next i
    B = A
    Max = A(1, 1)
    For i = 1 To n
        For j = 1 To m
             If Abs(Max) < Abs(A(i, j)) Then Max = A(i, j)   'определяем максим. по модулю
        Next j
    Next i
    Print "Максимальный по модулю элемент матрицы равен " & Max '
    For i = 1 To n
        For j = 1 To m
            If Abs(Max) = Abs(A(i, j)) Then k = k + 1: Exit For 'считаем количество строк содержащих макс. по модулю элемент
        Next j
    Next i
    ReDim A(1 To n + k, m) 'увеличиваем количество строк массива на количество строк содержащих макс. по модулю элемент
    k = 0
    For i = 1 To UBound(A)
        k = k + 1
        f = False
        For j = 1 To m
            A(i, j) = B(k, j)
            If Abs(Max) = Abs(A(i, j)) Then f = True
        Next j
        If f Then i = i + 1
    Next i
    Print "Результат:"
    For i = 1 To UBound(A)
        For j = 1 To m
             Print A(i, j) & vbTab;
        Next j
        Print
    Next i
End Sub

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


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

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

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