Fehlersuche bei Funktionen

neinyouja

Grünschnabel
Hallo,
ich habe heute dieses Programm geschrieben mit diesem Code.

Aber die Ausgabe ist nicht, was ich möchte, ich möchte das die Listbox nachdem es zufällig die zahlen randomize ausgibt, über Bubble Sort sortiert werden. Aber sowie ich es geschrieben habe, funktioniert die Ausgabe nicht wie ich es möchte. Bitte um Korrektur:







Option Strict On

Public Class Form1
Dim iwurf(30) As Integer
Dim i, j As Integer
Dim zufallswurf As Integer
Dim booltausch As Boolean
Dim tausch As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
lstbox.Items.Clear()


For i = 0 To 10
iwurf(i) = CInt(Int(49 * Rnd() + 1))

lstbox.Items.Add(iwurf(i).ToString)

For j = 0 To i - 1
If iwurf(i) = iwurf(j) Then
i = i - 1
End If
Next

Next
End Sub




Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For i = 10 To 0 Step -1
For j = 0 To i
If iwurf(i) < iwurf(j + 1) Then
tausch = iwurf(j + 1)
iwurf(j + 1) = tausch
booltausch = True
End If
Next
If booltausch = False Then
Exit For

End If
Next

For i = 0 To 10
lstbox.Items.Add(iwurf(i).ToString)
 
Hi und herzlich willkommen

Vorweg:
1. Die Programmiersprache, die du nutzt ist VB.NET und nicht VB 6. Bitte das nächste Mal deine Probleme im .NET-Forum posten (im entsprechenden Unterfoum abhängig vom Problem)
2. Bitte setz Quellcode in Code-Tags, am besten entsprechende der Sprache (CODE, CSHARP, VBNET, SQL, ... )
Danke schön :)

Zum Problem:
Code:
[...]
tausch = iwurf(j + 1)
iwurf(j + 1) = tausch
[...]
Du fragst hier einen Wert aus der List ab, speicherst ihn zwischen und fügst ihn an gleicher Stelle wieder ein. Kann es sein, dass du hier einen anderen Index-Wert nutzen wolltest? i zum Beispiel? :)


Ein paar Tipps noch:
Zum einen solltest du nicht jede Variable, die du benötigst als Klassenvariable deklarieren. Deklariere die Variablen da, wo du sie benötigst. Damit kannst du deine Problem erheblich speicherschonender machen.
Desweiteren kannst du solche Problem auch selbst finden, in dem du den Debugger nutzt. Ich gehe mal davon aus, dass du Visual Studio nutzt. Setze mit F9 eine Breakpoint an eine Stelle, an der das Programm anhalten soll. Mit F10 und F11 kannst dann schrittweise durch das Programm gehen und auch schauen, welche Variable welchen Wert hat.
 
Zurück