Option
Strict On
Option
Explicit On
Imports
System.Math
Public Class Form1
Dim m() As Single
'Процедура ввода массива
Sub vvod(ByRef m() As Single, ByVal index As Integer)
Dim y As String
Dim r As String
Dim i As Integer
Select Case index
Case 0 'ввод с клавиатуры
For i = 0 To
UBound(m)
r = CStr(i)
y = InputBox("элемент массива m(" + r + ")=", "Ввод значений элементов массива
m()")
m(i) = CSng(Val(y))
Next i
Case 1 'ввод генератором случ. чисел
For i = 0 To
UBound(m)
m(i) = Rnd(1) * 10 - 5
Next i
End Select
End Sub
'Процедура вывода массива
Public Sub
PrintL(ByVal m() As Single, ByRef LB As ListBox)
Dim i As Integer
Dim y As String = "
"
For i = 0 To
UBound(m)
y = y + CStr(m(i))
+ Space(4)
Next i
y = y + "------"
LB.Items.Add(y)
End Sub
'Процедура вывод индексов положительных э-ов
Public Sub
polojitel(ByRef m() As Single)
Dim i As Integer
Dim j As Integer
Dim n() As Single
j = 0
For i = 0 To
UBound(m)
If m(i)
> 0 Then
ReDim Preserve n(j)
n(j) = i
j = j + 1
End If
Next i
PrintL(n, ListBox2)
End Sub
'вычисление суммы нечетных элементов массива
Public Sub
sumnechet(ByRef m() As Single)
Dim sum As Single
sum = 0
For i = 0 To
UBound(m)
If CBool(m(i) Mod 2
<> 0) Then
sum = m(i) + sum
End If
Next i
TextBox2.Text = CStr(sum)
End Sub
'Процедура обработки события загрузки
формы
Private Sub
Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = "Точное" +
Space(3) + "москоское" +
Space(3) & " время"
Label2.Text = CStr(DateTime.Now)
End Sub
'Процедура обработки события выбора элем. из
ComboBox1
Private Sub
ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
Dim index,
n As Integer
index = ComboBox1.SelectedIndex 'индекс выбр-го эл-та ComboBox1
ListBox1.Items.Clear()
ListBox2.Items.Clear()
n = CInt(TextBox1.Text) 'кол=во эл-тов массива
ReDim m(n)
'ввод массива в зависимости от индекса выбора
vvod(m, index)
PrintL(m, ListBox1) 'вывод исходного массива
End Sub
'Процедура обработки события выбора элем. из
ComboBox2
Private Sub
ComboBox2_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox2.SelectedIndexChanged
Dim ind As Integer
ind = ComboBox2.SelectedIndex
ListBox2.Items.Clear()
Select Case ind
Case 0
polojitel(m) 'вывод индексов положительных элементов
End Select
End Sub
Private Sub
Button1_Click_1(sender As Object, e As EventArgs) Handles
Button1.Click
sumnechet(m)
End Sub
End Class
Комментариев нет:
Отправить комментарий