線形探索(Visual Basic)

学校のVBに合うように修正しました

番兵なし

Module Module1

    Sub Main()
        Const N = 50
        Dim d(N) As Integer
        Dim i As Integer

        ' 乱数を配列に格納&表示
        Randomize()
        For i = 0 To N - 1
            d(i) = CInt(Int(Rnd() * 100))
            Console.Write(d(i))
            Console.Write(" ")
        Next
        Console.WriteLine()

        ' キーを55に設定
        Dim key As Integer
        key = 55

        ' 線形探索
        i = 0
        Do While i < N
            If d(i) = key Then Exit Do
            i = i + 1
        Loop
        ' 見つかったかどうかの判定
        If i < N Then
            Console.Write(key)
            Console.WriteLine("は見つかった")
        Else
            Console.Write(key)
            Console.WriteLine("は見つからなかった")
        End If

        ' コンソールウィンドウが閉じないようにする
        Console.WriteLine("Enterキーを押すと終わります")
        Console.ReadLine()
    End Sub

End Module

番兵あり

Module Module1

    Sub Main()
        Const N = 50
        Dim d(N + 1) As Integer
        Dim i As Integer

        ' 乱数を配列に格納&表示
        Randomize()
        For i = 0 To N - 1
            d(i) = CInt(Int(Rnd() * 100))
            Console.Write(d(i))
            Console.Write(" ")
        Next
        Console.WriteLine()

        ' キーを55に設定
        Dim key As Integer
        key = 55
        d(N) = key

        ' 線形探索
        i = 0
        Do While d(i) <> key
            i = i + 1
        Loop
        ' 見つかったかどうかの判定
        If i < N Then
            Console.Write(key)
            Console.WriteLine("は見つかった")
        Else
            Console.Write(key)
            Console.WriteLine("は見つからなかった")
        End If

        ' コンソールウィンドウが閉じないようにする
        Console.WriteLine("Enterキーを押すと終わります")
        Console.ReadLine()
    End Sub

End Module