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

VvodDannih

End Sub

Private Sub Form_Load()

List1.AddItem 1

List1.AddItem -4

List1.AddItem 2

List1.AddItem -5

List1.AddItem -2

List1.AddItem 5

List1.AddItem -3

List1.AddItem 8

List1.AddItem -5

List1.AddItem 1

End Sub

Sub VvodDannih()

Dim m(1 To 10) As Integer

For i = 1 To 10

m(i) = List1.List(i - 1)

Next i

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

For i = 1 To 10

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

Call cv20(m())

End Sub

Sub cv20(m1() As Integer)

k = 0

y = 0

p = 0

h = 0

For i = 1 To 10

If m1(i) Mod 2 = 0 Then k = k + 1

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

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

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

Next i

Debug.Print "сумма четных "; p, "сумма нечетных "; h

End Sub

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

Sub zadacha21()

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 cv21(m())

End Sub

Sub cv21(m1() As Integer)

k = 0

y = 0

p = 1

For i = 1 To 8

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

If m1(i) Mod 2 = 0 And k = 2 Then p = p * m1(i): k = 0

Next i

Label1.Caption = "Произведение " & Str(p)

End Sub

Private Sub Command1_Click()

zadacha21

End Sub

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

Private Sub Command1_Click()

VvodDannih

End Sub

Private Sub Form_Load()

List1.AddItem 1

List1.AddItem -4

List1.AddItem 2

List1.AddItem -5

List1.AddItem -2

List1.AddItem 5

List1.AddItem -3

List1.AddItem 8

List1.AddItem -5

List1.AddItem 1

End Sub

Sub VvodDannih()

Dim m(1 To 10) As Integer

For i = 1 To 10

m(i) = List1.List(i - 1)

Next i

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

For i = 1 To 10

Debug.Print m(i);

Next i: Debug.Print: Debug.Print

Call cv22(m())

End Sub

Sub cv22(m1() As Integer)

k = 0

y = 0

p = 1

с = 0

For i = 1 To 10

If m1(i) Mod 2 <> 0 And m1(i) > 0 Then k = k + 1

If m1(i) Mod 2 <> 0 And k = 2 Then p = p * m1(i): k = 0: c = c + 1

Next i

If c = 0 Then Debug.Print "нету нужных чисел" Else Debug.Print "произведение "; p

End Sub

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

Private Sub Command1_Click()

zadacha23

End Sub

Sub zadacha23()

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 cv23(m())

End Sub

Sub cv23(m1() As Integer)

k = 10

c = 1

For i = 1 To 10

For j = k To i Step -1

If i <> j And i <> j - 1 And m1(i) > 0 And m1(j) > 0 Then k = j - 1: s = m1(i): m1(i) = m1(j): m1(j) = s: Exit For

Next j

Next i

Print "Новый массив"

For i = 1 To 10

Print m1(i);

Next i: Debug.Print: Debug.Print

End Sub

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

Private Sub Command1_Click()

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