
Вопрос задан 17.06.2019 в 03:53.
Предмет Информатика.
Спрашивает Лин Денис.
Ребят помогите программу дописать по 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

Ответы на вопрос

Отвечает Митенёва Леся.
Option Explicit
Sub 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 i
End Sub
Sub 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 i
End Sub


Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili