Public Sub vivod_Immediate()
'вывод массива в окно Отладки
For i = 1 To n
For j = 1 To m
Debug.Print a(i, j);
Next j
Debug.Print
Next i
End Sub
Public Sub vivod_Form()
'вывод массива на форму
For i = 1 To n
For j = 1 To m
TxtВвод.Text = TxtВвод.Text & a(i, j) & " "
Next j
TxtВвод.Text = TxtВвод.Text & Chr(13) + Chr(10)
Next i
End Sub
Private Sub CmdВвод_Click()
n = InputBox("Введите количество строк:")
m = InputBox("Введите количество столбцов:")
ReDim a(n, m)
LblУсловие.Caption = "Задан двумерный массив " & "a(" & n & "," & m & ")"
Call vvod
'вывод массива на форму
If Chk1.Value = 1 Then Call vivod_Form
'вывод массива в окно Отладки
If Chk2.Value = 1 Then Call vivod_Immediate
'Вывод массива в окно сообщения
If Chk3.Value = 1 Then Call vivod_Msg
End Sub
Private Sub CmdЗадача1_Click()
'Нахождения 1-го положительного в массиве
LblЗадача3.Caption = Pol(i1, j1)
End Sub
Private Sub CmdЗадача3_Click()
For i = 1 To m
For j = 1 To n
If ((a(i, j) Mod 3) = 0) Then a(i, j) = a(1, 1)
Next j
Next i
For i = 1 To m
For j = 1 To n
TxtЗадача1.Text = TxtЗадача1.Text & a(i, j) & " "
Next j
TxtЗадача1.Text = TxtЗадача1.Text & Chr(13) + Chr(10)
Next i
End Sub
Private Sub CmdЗадача2_Click()
'Вывод на форму значения функции Sr
LblЗадача2.Caption = Format(Sr(), "00.0")
End Sub
Public Sub vvod()
If Opt1.Value = True Then
'ввод массива в окне сообщения
For i = 1 To n
For j = 1 To m
a(i, j) = InputBox("введите элемент:" & i & "," & j, "Ввод элементов")
Next j, i
ElseIf Opt2.Value = True Then
'ввод массива генератором
For i = 1 To n
For j = 1 To m
a(i, j) = Int(100 * Rnd - 60)
Next j, i
End If
End Sub
Function Pol(i1, j1)
Dim flag As Integer
For j = 1 To m
flag = 0
For i = 1 To n
If a(i, j) > 0 Then
flag = 1
Pol = a(i, j): i1 = i: j1 = j
Exit For
End If
Next i
If flag = 1 Then Exit For
Next j
End Function
Public Function Sr()
Dim ko As Integer
Dim s As Single
For i = 1 To n
For j = 1 To m
If a(i, j) < 0 Then s = s + a(i, j): ko = ko + 1
Next j
Next i
Sr = s / ko
End Function
Private Sub CmdСброс_Click()
TxtВвод.Text = ""
LblЗадача3.Caption = ""
TxtЗадача1.Text = ""
LblЗадача2.Caption = ""
End Sub
Теория, краткое описания команд:
В VB есть возможность задать свойства объектов программно с помощью оператора With … End With,который выполняет последовательность операторов над одиночным объектом
With объект
[блок операторов]
End With
где объект -имя объекта;
блок операторов - один или несколько операторов, выполняемых над объектом или
.элемент управления.свойство=значение.
Процедура типа Sub.
[Private | Public] Sub имя ([список аргументов])
операторы
End Sub
Обращение к процедуре Sub
Call имя(список аргументов)
где Public - указывает, что процедура доступна для всех других процедур во всех модулях,
Private - доступна для других процедур только того модуля, в котором она описана;
Процедуры Function.
[Public | Private] Function имя([список аргументов]) [As тип]
операторы
имя = выражение
End Function
Скриншоты:
Задание 6