Программирование циклических алгоритмов - VB
Формулировка задачи:
Есть два задания. Первое я кое как селал, просьба перепроверить. Однако насчет второго ну вообще не въезжаю что изменить в коде для результатов в задании 2.
Это для части "найти наименьшее из чисел больше 10". В чем ошибка в коде?
Изменение на If x > b(i) And b(i) > 10 Then в условии не помогает..
Задание 1.
Дана последовательность из М (М = 10) чисел. Сколько из этих чисел больше 7, но меньше 20. Найти произведение таких чисел. Код
Листинг программы
- Private Sub CommandButton1_Click()
- Dim k, M, P, n, j As Integer
- P = 1
- j = 0
- M = Val(Text1.Text)
- For k = 1 To M Step 1
- n = Val(InputBox("Введите число"))
- If (n > 7) And (n < 20) Then
- P = P * n
- j = j + 1
- End If
- Next k
- If j > 0 Then
- Text2.Text = P
- Text3.Text = j
- Else
- P = 0
- Text2.Text = P
- Text3.Text = "нет таких чисел"
- End If
- End Sub
Задание 2.
Дана последовательность из M чисел. Найти наименьшее из всех чисел, больших 10, и его порядковый номер. Именно разница в вопросе задания, и особенно "порядковый номер" сбивают с толку. Просьба помочь
Вот попытался сделать второе с массивом:
Листинг программы
- Private Sub Command1_Click()
- Dim a() As Single, k As Integer, M As Integer, Min As Single
- M = 10
- ReDim a(M)
- k = 0
- For i = 1 To M
- a(i) = Rnd * 20 + 10
- If (a(i) > 10) Then
- k = k + 1
- If k = 1 Then
- Min = a(i)
- Else
- If a(i) < Min Then Min = a(i)
- End If
- End If
- Next i
- If k > 0 Then
- MsgBox ("ГЌГ*èìåГ*ГјГёГҐГҐ ÷èñëî = ") & Min
- Else
- MsgBox " Нету чисел > 10"
- End If
- End Sub
Неужеди никто не знает?
Вот, написал норм код, но оно выдает только наименьшее число. Помогите исправить чтоб находило наименьшее БОЛЬШЕ 10
Листинг программы
- Private Sub Command1_Click()
- Dim i, x, b(), M As Integer
- M = InputBox("Èç ñêîëüêè Г·ГЁГ±ГҐГ« ГўГ*ГёГ* ïîñëåäîâГ*òåëüГ*îñòü?", "Ñêîëüêî Г·ГЁГ±ГҐГ« áóäåì ââîäèòü?", 20)
- ReDim b(1 To M)
- For i = 1 To M
- b(i) = Int(InputBox("", "Ââåäèòå ÷èñëî"))
- Print b(i);
- Next i
- x = b(1)
- For i = 1 To M
- If x > b(i) Then
- x = b(i)
- End If
- Next i
- MsgBox "ГЌГ*èìåГ*ГјГёГҐГҐ ГЁГ§ ââåäåГ*ûõ Г·ГЁГ±ГҐГ« " & x
- End Sub
Решение задачи: «Программирование циклических алгоритмов»
textual
Листинг программы
- Module Module1
- Sub Main()
- Dim i, x, b(), M, n As Integer
- M = InputBox("Из скольких чисел ваша последовательность?", "Сколько чисел будем вводить?", 20)
- ReDim b(0 To M - 1)
- For i = 0 To M - 1
- b(i) = Int(InputBox("", "Введите число"))
- Next i
- For i = 0 To M - 1
- If b(i) > 10 Then
- x = b(i)
- n = i + 1
- Exit For
- End If
- Next
- For i = 0 To M - 1
- If x > b(i) And b(i) > 10 Then
- x = b(i)
- n = i + 1
- End If
- Next i
- MsgBox("Наименьшее из введеных чисел большее 10 = " & x)
- MsgBox("Его порядковый номер = " & n)
- End Sub
- End Module
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д