Сжать массив, уничтожив в нем все элементы, модуль которых находится в интервале [а,b] - VB
Формулировка задачи:
Стиснути масив, знищивши в ньому всі елементи, модуль яких знаходиться в інтервалі [a,b]. Звільнені в кінці масиву елементи заповнити нулями.
На екран вивести: вихідний масив; обчислені значення та перетворений масив.
Сжать массив, уничтожив в нем все элементы, модуль которых находится в интервале [а,b]. Освобожденные в конце массива элементы заполнить нулями. На экран вывести: исходный массив; вычисленные значения и преобразованный массив.
Решение задачи: «Сжать массив, уничтожив в нем все элементы, модуль которых находится в интервале [а,b]»
textual
Листинг программы
Private Sub Command1_Click()
Dim M() As Integer, n As Integer, i As Integer
Dim a As Integer, b As Integer, j As Integer, tmp
n = InputBox("n =", "", 10)
ReDim M(1 To n)
Randomize
AutoRedraw = True
Print
For i = 1 To n
M(i) = Int(Rnd * 200 - 100)
Print M(i);
Next i
a = InputBox("a =", "", 15)
b = InputBox("b =", "", 55)
For i = 1 To n
If Abs(M(i)) > a And Abs(M(i)) < b Then
tmp = tmp + 1
For j = i To n - 1
M(j) = M(j + 1)
Next j
M(n - tmp + 1) = 0
i = i - 1
End If
Next i
Print
For i = 1 To n
Print M(i);
Next i
End Sub