Задан массив. Определить, входит ли в него последовательность - VB

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

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

Задан массив. Определить, входит ли в него последовательность подряд идущих значений элементов 1,2,3. Если да, то с какой позиции.

Решение задачи: «Задан массив. Определить, входит ли в него последовательность»

textual
Листинг программы
Option Explicit
 
Private Sub Form_Load()
    Dim A() As Long, P() As Long
    Dim N As Long, Z As Long
    ReDim A(99)                     ' Массив
    ReDim P(2)                      ' Последовательность
    For N = 0 To 99: A(N) = Rnd * 10: Next
    'A(51) = 1: A(52) = 2: A(53) = 3 ' Последовательность 1,2,3
    P(0) = 1: P(1) = 2: P(2) = 3    ' Последовательность 1,2,3
    N = 0: Z = 0
    Do While N <= UBound(A)
        If A(N) = P(Z) Then
            Z = Z + 1
            If Z > UBound(P) Then
                MsgBox "Входит начиная с позиции " & N - UBound(P)
                Exit Sub
            End If
        Else
            If Z Then
                N = N - Z + 1
                Z = 0
            End If
        End If
        N = N + 1
    Loop
    MsgBox "Не входит"
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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