проблема, представленная здесь, является ошибкой, которую я получил, пытаясь отсортировать мои установленные значения методом пузырьковой сортировки. Ниже приведен код, и ошибка, которую я получу, будет «System.IndexOutOfRangeException:« Индекс находится за пределами массива ». после первого прохода. Ниже приведен полный код
Public Class Form1
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ourArray(20) As Integer
Dim i As Integer
ourArray(0) = 20
ourArray(1) = 12
ourArray(2) = 1
ourArray(3) = 15
ourArray(4) = 5
ourArray(5) = 9
ourArray(6) = 10
ourArray(7) = 4
ourArray(8) = 3
ourArray(9) = 8
ourArray(10) = 2
ourArray(11) = 6
ourArray(12) = 13
ourArray(13) = 14
ourArray(14) = 7
ourArray(15) = 17
ourArray(16) = 11
ourArray(17) = 16
ourArray(18) = 18
ourArray(19) = 19
Do While ourArray(i) > ourArray(i + 1)
Dim iTemp As Integer
For iPass = 0 To 1
For i = 0 To 19
If ourArray(i) > ourArray(i + 1) Then
iTemp = ourArray(i)
ourArray(i) = ourArray(i + 1)
ourArray(i + 1) = iTemp
End If
Next
Next iPass
Dim assist As String
For i = 0 To 19
assist = assist & ourArray(i) & vbNewLine
Next
MsgBox(assist)
Loop
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
End Class
Цель состоит в том, чтобы нажимать данную кнопку при запуске программы и заставлять программу сортировать заданные случайные значения в правильном порядке с каждым нажатием кнопки / прохода. Пример: запустить программу, нажать кнопку сортировки, значения 4,5,3,2,1 появятся в окне сообщения. нажмите кнопку еще раз, одно из значений будет в правильном месте. 5,4,3,2,1 -> 1,4,3,2,5 -> 1,2,4,3,5 -> 1,2,3,5,4 -> 1,2,3, 4,5