• Ребят помогите программу дописать по vba: в общем нужно сделать матрицу с рандомными числами, найти наименьшее число в ней, и сделать другую матрицу на порядок меньше, с вычеркнутым столбцом и строкой на пересечении которых находится наименьшее число из первой матрицы. Я нашел наименьшее число, а как дольше делать понять не могу.
    Вот начало самой программы:
    Sub laba9()
    Dim N As Integer, a() As Integer, i As Byte, j As Byte, min As Integer, l1 As Integer, l2 As Integer
    N = Val(InputBox("Введите размерность массива"))
    ReDim a(N, N)
    Sheets("Лист1").Select
    Sheets("Лист1").Range("A1:AAA100").Clear
    For i = 1 To N
    For j = 1 To N
    a(i, j) = Rnd * 100
    Cells(i, j) = a(i, j)
    Next j
    Next i
    min = a(1, 1)
    l1 = 1
    l2 = 2
    For i = 1 To N
    For j = 1 To N
    If a(i, j) < min Then
    min = a(i, j)
    l1 = i
    l2 = j
    End If
    Next j
    Next i
    End sub

Ответы 1

  • Option ExplicitSub laba9()    Dim N As Integer, a() As Integer, i As Byte, j As Byte, min As Integer, l1 As Integer, l2 As Integer    Dim b() As Integer    N = Val(InputBox("Введите размерность массива"))    ReDim a(N, N)    Sheets("Лист1").Select    Sheets("Лист1").Range("A1:Z26").Clear    For i = 1 To N        For j = 1 To N            a(i, j) = Rnd * 100            Cells(i, j) = a(i, j)        Next j    Next i    min = a(1, 1)    l1 = 1    l2 = 2    For i = 1 To N        For j = 1 To N          If a(i, j) < min Then                min = a(i, j)                l1 = i                l2 = j            End If        Next j    Next i    ReDim b(N - 1, N - 1)    For i = 1 To l1 - 1        For j = 1 To l2 - 1            b(i, j) = a(i, j)        Next j        For j = l2 + 1 To N            b(i, j - 1) = a(i, j)        Next j    Next i    For i = l1 + 1 To N        For j = 1 To l2 - 1            b(i - 1, j) = a(i, j)        Next j        For j = l2 + 1 To N            b(i - 1, j - 1) = a(i, j)        Next j    Next i    For i = 1 To N - 1        For j = 1 To N - 1            Cells(i + N + 2, j) = b(i, j)        Next j    Next iEnd Sub
    • Автор:

      itsypope
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years