Переставить числа в последовательности, если знаки чисел не чередуются - VB
Формулировка задачи:
Даны числа a1, a2,...,an, каждое из которых отлично от нуля. Если в последовательности отрицательные и положительные числа чередуются (- + - + ... или + - + - ...), то последовательность не изменяется. Иначе в последовательности вначале поставить все отрицательные члены, затем положительные, сохранив порядок их следования. Пользоваться можно только одним массивом ai.
Надеюсь на вашу помощь, могут отчислить
Решение задачи: «Переставить числа в последовательности, если знаки чисел не чередуются»
textual
Листинг программы
- Private Sub Command1_Click()
- n = InputBox("n", , 10) - 1
- ReDim a(n)
- st = ""
- For i = 0 To n
- a(i) = Fix(Rnd() * 21 - 10)
- If a(i)=0 then a(i)=1
- If i > 1 Then If Sgn(a(i)) = Sgn(a(i - 1)) Then flag = True
- st = st & a(i) & vbTab
- Next
- Text1 = st
- If flag Then
- st = ""
- For i = 1 To n
- For j = i To 1 Step -1
- If a(j) < 0 And a(j - 1) >= 0 Then
- t = a(j): a(j) = a(j - 1): a(j - 1) = t
- Else
- Exit For
- End If
- Next
- Next
- For i = 0 To n
- st = st & a(i) & vbTab
- Next
- End If
- Text2 = st
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д