Скачиваний:
1
Добавлен:
30.09.2018
Размер:
40.44 Кб
Скачать

Input #номер, m(I)

Print m(i);

Next i

Close номер

Call obrabotka(m())

End Sub

Sub obrabotka(m1() As Integer)

For i = 1 To 9

For j = i + 1 To 10

If m1(i) > 0 And m1(i) Mod 2 <> 0 Then

If m1(j) > 0 And m1(j) Mod 2 <> 0 Then

If m1(j) < m1(i) Then

a = m1(i)

m1(i) = m1(j)

m1(j) = a

End If

End If

End If

Next j

Next i

For i = 1 To 10

t = ""

t = t & Str(m1(i)) & " "

List1.List(i - 1) = t

Next i

End Sub

15. В одномерном массиве из положительных и отрицательных чисел найти максимальное четное число и его место в массиве. Ввести с клавиатуры, вывести в объект надпись(label)

Private Sub Command1_Click()

zadacha15

End Sub

Sub zadacha15()

Dim m(1 To 10) As Integer

For i = 1 To 10

m(i) = InputBox("введите " & i & "число")

Next i

Debug.Print " Исходный массив"

For i = 1 To 10

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

rez = ""

rez = rez + "Исходный массив" + vbCrLf

For i = 1 To 10

rez = rez + Str(m(i))

Next i

Print rez

Call cv15(m())

End Sub

Sub cv15(m1() As Integer)

Max = -10000

For i = 1 To 10

If m1(i) Mod 2 = 0 And m1(i) > Max Then Max = m1(i): k = i

Next i

Label1.Caption = "k=" & Str(k)

If Max = -10000 Then Label2.Caption = "нету четных чисел" Else Label2.Caption = " максимальное четное=" & Str(Max)

End Sub

16. В одномерном массиве из положительных и отрицательных чисел найти произведение максимального четного и максимального нечетного числа.Ввод инпут,вывод лабель

Sub zadacha16()

Dim m(1 To 10) As Integer

For i = 1 To 10

m(i) = InputBox("Введите " & i & "Число")

Next i

Debug.Print "Исходный массив"

For i = 1 To 10

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

rez = ""

rez = rez + "Исходный массив" + vbCrLf

For i = 1 To 10

rez = rez + Str(m(i))

Next i

Print rez

Call cv16(m())

End Sub

Sub cv16(m1() As Integer)

Max = -10000

maxi = -10000

For i = 1 To 10

If m1(i) Mod 2 = 0 And m1(i) > Max Then Max = m1(i)

If m1(i) Mod 2 <> 0 And m1(i) > maxi Then maxi = m1(i)

Next i

If Max = -10000 Or Max = -10000 Then Label1.Caption = "Нету требуемых" Else p = Max * maxi: Label1.Caption = "Произведение" & Str(p)

End Sub

Private Sub Command1_Click()

zadacha16

End Sub

17. В одномерном массиве из положительных и отрицательных чисел максимальное четное и максимальное нечетное число поменять местами.

Ввод с клавы, вывод на форму.

Private Sub Command1_Click()

zadacha17

End Sub

Sub zadacha17()

Dim m(1 To 10) As Integer

For i = 1 To 10

m(i) = InputBox("Введите " & i & "Число")

Next i

Debug.Print "Исходный массив"

For i = 1 To 10

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

rez = ""

rez = rez + "Исходный массив" + vbCrLf

For i = 1 To 10

rez = rez + Str(m(i))

Next i

Print rez

Call cv17(m())

End Sub

Sub cv17(m1() As Integer)

Max = -10000

maxi = -10000

For i = 1 To 10

If m1(i) Mod 2 = 0 And m1(i) > Max Then Max = m1(i): k = i

If m1(i) Mod 2 <> 0 And m1(i) > maxi Then maxi = m1(i): Z = i

Next i

If Max = -10000 Or maxi = -10000 Then Debug.Print "нету требуемых чисел" Else

d = m1(k): m1(k) = m1(Z): m1(Z) = d

Print " массив"

For i = 1 To 10

Print m1(i);

Next i: Debug.Print: Debug.Print

End Sub

18. В одномерном массиве из положительных и отрицательных чисел найти произведение максимального нечетного отрицательного числа и минимального положительного числа.Ввод рандом ,вывод текст бокс.

Sub zadacha18()

Dim m(1 To 8) As Integer

Randomize Timer

For i = 1 To 8

m(i) = Int(Rnd() * 100) + 1 - 50

Next i

Debug.Print "Исходный массив"

For i = 1 To 8

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

Call cv18(m())

End Sub

Sub cv18(m1() As Integer)

Max = 10000

maxi = -10000

For i = 1 To 8

If m1(i) > 0 And m1(i) < Max Then Max = m1(i)

If m1(i) Mod 2 <> 0 And m1(i) > maxi And m1(i) < 0 Then maxi = m1(i)

Next i

If Max = -10000 Or maxi = -10000 Then Text1.Text = "нет требуемых чисел" Else p = Max * maxi: Text1.Text = Str(Max) & Str(Maxi) & "Произведение" & Str(p)

End Sub

Private Sub Command1_Click()

zadacha18

End Sub

19. В одномерном массиве из положительных и отрицательных чисел найти сумму каждого второго отрицательного числа и каждого второго положительного числа.

Ввод рандом, вывод label

Private Sub Command1_Click()

zadacha19

End Sub

Sub zadacha19()

Dim m(1 To 8) As Integer

Randomize Timer

For i = 1 To 8

m(i) = Int(Rnd() * 100) + 1 - 50

Next i

Debug.Print "Исходный массив"

For i = 1 To 8

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

Call cv19(m())

End Sub

Sub cv19(m1() As Integer)

k = 0

y = 0

p = 0

h = 0

For i = 1 To 8

If m1(i) < 0 Then k = k + 1

If m1(i) < 0 And k = 2 Then p = p + m1(i): k = 0

If m1(i) > 0 Then y = y + 1

If m1(i) > 0 And y = 2 Then h = h + m1(i): y = 0

Next i

Label1.Caption = "сумма отрицательных " & Str(p)

Label2.Caption = "сумма положительных" & Str(h)

End Sub

Private Sub Form_Load()

End Sub

20.В одномерном массиве из положительных и отрицательных чисел найти сумму каждого второго четного числа и каждого второго нечетного числа. Ввод листбокс вывод обично(на отладку).

Private Sub Command1_Click()

Соседние файлы в папке Информатика