Выяснить, чередуются ли отрицательные и положительные элементы массива - VBA

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста сделать лабу: Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.

Решение задачи: «Выяснить, чередуются ли отрицательные и положительные элементы массива»

textual
Листинг программы
Function ChkArr(A() As Integer, Optional k As Integer = 1) As Integer
   kk% = Abs(k)
   If kk% = UBound(A, 1) Then
      ChkArr = 0
   Else
      If k > 0 Then
         If Not (A(k) > 0 And A(k + 1) < 0) Then
            ChkArr = k
         Else
            ChkArr = ChkArr(A, -(k + 1))
         End If
      Else
         If Not (A(kk%) < 0 And A(kk% + 1) > 0) Then
            ChkArr = kk%
         Else
            ChkArr = ChkArr(A, (kk% + 1))
         End If
      End If
   End If
End Function
 
Sub Test_1()
Dim X(1 To 10) As Integer
    k% = 1
    For i% = 1 To 10
        X(i%) = k% * i%
        k% = -k%
    Next i%
    Debug.Print ChkArr(X)
    X(3) = -3
    Debug.Print ChkArr(X)
End Sub

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы