Найти длину наибольшей возрастающей последовательности - VB

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

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

Программа написана. Но результат не правильно выдает. Результат выдает 0. А надо, чтоб длина была 4 (1, 2, 6, 11)

Решение задачи: «Найти длину наибольшей возрастающей последовательности»

textual
Листинг программы
Option Explicit
Option Base 1
 
'Дана последовательность действительных чисел а1, а2,..., аn.
'Найти длину наибольшей возрастающей последовательности.
 
Function res(ByVal A As Variant, ByRef N As Integer) As Integer
        Dim i As Long
        Dim maxKol As Integer
        Dim kol As Integer
        kol = 1
        If UBound(A) = 1 Then
        N = 1
        Exit Function
        End If
    For i = 1 To UBound(A) - 1
        If A(i) >= A(i + 1) And i < UBound(A) Then
            If maxKol < kol Then
            maxKol = kol
            kol = 1
            End If
        Else
        kol = kol + 1
            If maxKol < kol And i = UBound(A) - 1 Then
            maxKol = kol
            End If
        End If
        
    Next i
N = maxKol
End Function
 
Sub shislo()
    Dim A
    Dim Max As Integer
    A = Array(999)
    res A, Max
    MsgBox Max
End Sub
 
Private Sub Form_Click()
shislo
End Sub

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


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

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

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