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

Скриншоты:

Public Sub vivod_Immediate() - student2.ru Public Sub vivod_Immediate() - student2.ru

Задание 6

Наши рекомендации