-3

線形検索を使用して、ユーザーが配列に入力した名前を検索しようとすると、このエラーが発生します。これは、配列を宣言して入力を取得するときです。

Public Const SIZE_ARRAY = 9

Public Sub cmdStart_Click(sender As Object, e As EventArgs) Handles cmdStart.Click

Dim myArray(SIZE_ARRAY) As String
Dim index As Integer
Public Sub cmdStart_Click(sender As Object, e As EventArgs) Handles cmdStart.Click
    Dim count As Integer = 0

    For Me.index = 0 To SIZE_ARRAY
        myArray(index) = InputBox("Enter a name, Enter a name")
        count = count + 1
    Next

If count = 10 Then
        lblInstructions.Visible = False
        cmdStart.Visible = False
        lblInstructions2.Visible = True
        txtSearch.Visible = True
        lblOutput.Visible = True
        cmdSearch.Visible = True
    End If
End Sub

ここで線形検索を使用します。

Public Sub cmdSearch_Click(sender As Object, e As EventArgs) Handles cmdSearch.Click
    Dim found As Boolean
    Dim name As String

    name = txtSearch.Text

    found = LinearSearch(myArray, Val(name))

    If found Then
        lblOutput.Text = name & " was found at cell " & index
    Else
        lblOutput.Text = name & " was not found"
    End If

End Sub

そして、ここに線形検索機能があります

Public Function LinearSearch(ByVal list() As Integer, ByVal searchValue As Integer) As Boolean
    Dim found As Boolean = False
    Dim index As Integer
    While found = False And index <= UBound(list)
        If list(index) = searchValue Then
            found = True
        Else
            index += 1
        End If
    End While
    Return found
End Function
4

1 に答える 1