Переставить числа в последовательности, если знаки чисел не чередуются - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д