Задана последовательность - VB
Формулировка задачи:
Задана последовательность чисел A = {A1, A2, ..., A6}. Выбрать из них
числа, принадлежащие отрезку [x, y]. Из выбранных чисел образовать массив.
Проверку на принадлежность отрезку оформить в виде подпрограммы. Исход-
ные данные: A = {-4.1,-1,1.2,3,5,0.75}, x = -2,5; y = 1,2.
модуль:
код:
Помогите исправить, выдает не правильно ответ.
Листинг программы
- Sub P(A, B As Integer, ByRef x, ByRef y)
- x = -2.5
- y = 1.2
- For i = 1 To 6
- If A(i) >= x Then
- If A(i) <= y Then B = A(i)
- End If
- Next i
- End Sub
Листинг программы
- Private Sub Command2_Click()
- Dim S
- Dim A, B
- Dim k, y, x
- S = ""
- A = Array(-4.1, -1, 1.2, 3, 5, 0.75)
- B = Array(-4.1, -1, 1.2, 3, 5, 0.75)
- x = Text1.Text
- y = Text2.Text
- For i = 0 To 5
- If A(i) >= x And A(i) <= y Then k = k + A(i)
- B(k) = i
- Next i
- Text3.Text = Str(B(k))
- S = ""
- For i = 0 To k
- S = S & " " & B(i)
- List2.AddItem S
- Next i
- End Sub
Решение задачи: «Задана последовательность»
textual
Листинг программы
- Option Explicit
- Dim x, y
- Function BetweenXY(z) As Boolean
- BetweenXY = z >= x And z <= y
- End Function
- Private Sub Command2_Click()
- Dim S
- Dim A(), B()
- Dim k&, m&
- S = ""
- x = -2.5
- y = 1.2
- A = Array(-4.1, -1, 1.2, 3, 5, 0.75)
- ReDim B(0 To UBound(A))
- For k = 0 To UBound(A)
- If BetweenXY(A(k)) Then
- B(m) = A(k)
- m = m + 1
- End If
- Next
- ReDim Preserve B(0 To m - 1)
- MsgBox Join(B)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д