Расположить элементы массива в следующем порядке: положительные, равные нулю, отрицательные - VB
Формулировка задачи:
Располодить элементы одномерного массива,заполненного случайным образом в интервале [-420,99 / 120,99],в следующем порядке: положиетльные,равные нулю,отрицательные
Никто не знает? =(
Решение задачи: «Расположить элементы массива в следующем порядке: положительные, равные нулю, отрицательные»
textual
Листинг программы
Private Sub Command1_Click()
Dim a(), b(), n As Integer, i As Integer, j As Integer
Dim st As String
n = Val(InputBox("N=?", , 10))
If n < 3 Then
MsgBox "N>2 !"
Exit Sub
End If
ReDim a(n), b(n)
List1.Clear: List2.Clear
Randomize
For i = 1 To n
a(i) = Round(-Int(Rnd * (42099 + 12099)) / 100 + 120.99, 2)
st = Space(15 * (2 - Sgn(a(i))))
List1.AddItem i & st & a(i)
Next i
'--------------только для проверки '|
a(n) = 0 '|
List1.List(List1.ListCount - 1) = n & " " & a(n) '|
'----------------------------------'|
j = 0
For i = 1 To n
If a(i) > 0 Then
j = j + 1
b(j) = a(i)
End If
Next i
For i = 1 To n
If a(i) = 0 Then
j = j + 1
b(j) = a(i)
End If
Next i
For i = 1 To n
If a(i) < 0 Then
j = j + 1
b(j) = a(i)
End If
Next i
For i = 1 To n
st = Space(15 * (2 - Sgn(b(i))))
List2.AddItem i & st & b(i)
Next i
End Sub