Willkürliche Zahlen eingabe mit Bubblesort sortieren

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von fubinator.

    Willkürliche Zahlen eingabe mit Bubblesort sortieren

    hallo ich bin erst seit kurzem auf VB 2008 da ich es in der Schule habe

    folgende aufgabe wurde mir gestellt,

    Der anwender gibt solange zahlen über eine Inputbox ein bis er den abbrechen button der inputbox betätigt ,,

    2) nachdem der Anwender die Eingabe der Zahlen durch betätigen des Abbrechen Buttons beednet hat werden dei Zahlen aufsteigend sortiert und in einem ALbel ausgegeben


    achso das ganze soll mit Bubblesort und Do schleife ausgeführt werden

    könnte ihr mir bitte helfen bin blutiger anfänger
    ich komme ja nicht weiter habe ja schon was gemacht
    Public Class Lb1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim IEingabe As String
    Dim IZahlen(100) As Integer
    Dim IZahler As Integer

    IZahler = 0
    Do
    IEingabe = InputBox("Bitte Zahl eingeben")
    If IEingabe <> "" Then IZahlen(IZahler) = IEingabe
    IZahler = IZahler + 1
    Loop While IEingabe <> ""


    End Sub



    End Sub
    End Class
    Ich bin mal so nett, aber bitte lese die Erklärung! Dann lernst du was.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim IEingabe As String = ""
    3. Dim IZahlen(0) As Integer
    4. Dim IZahler As Integer
    5. IZahler = 0
    6. Do
    7. IEingabe = InputBox("Bitte Zahl eingeben")
    8. If IEingabe <> "" Then
    9. ReDim Preserve IZahlen(IZahler)
    10. IZahlen(IZahler) = IEingabe
    11. End If
    12. IZahler = IZahler + 1
    13. Loop While IEingabe <> ""
    14. Array.Sort(IZahlen)
    15. For Each IZahl As Integer In IZahlen
    16. Label1.Text &= IZahl.ToString & Environment.NewLine
    17. Next
    18. End Sub


    1. Die Variablen sind OK. Alles auf Start
    2. In der Do-Loop Schleife wird die Inputbox angezeigt. Wenn der Text ungleich "" ist, soll er das IZahlen Array größer machen (ReDim Preserve heisst das er die Werte behalten soll)
    und den Wert im Array speichern.
    3. Das Array sortieren wir mit Array.Sort(IZahlen)
    4. Wir geben es aus per For Each Schleife. (Ist sauberer als eine einfache For schleife)
    5. Zahl auf dem Label ausgeben.
    Hallo habe es jetzt soweit hinbekommen nur es bricht mir jedesmal ab wenn ich die erste Zahl eingegeben habe

    Hier nochmal mein Quellcode ::
    Public Class Lb1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim IEingabe As Integer
    Dim IZahlen(10000) As Integer
    Dim IZahler As Integer
    Dim temp As Integer


    IZahler = 0
    Do
    IEingabe = InputBox("Bitte Zahl eingeben")
    If IEingabe <> "" Then IZahlen(IZahler) = IEingabe
    IZahler = IZahler + 1
    Loop While IEingabe <> ""


    For outer = IEingabe - 1 To 0 Step -1
    For inner = 0 To outer - 1
    If IZahlen(inner) > IZahlen(inner + 1) Then
    IZahlen = IZahlen
    IZahlen(inner) = IZahlen(inner + 1)
    IZahlen(inner + 1) = temp
    End If
    Next
    Next


    End Sub




    End Class





    If IEingabe <> "" Then IZahlen(IZahler) = IEingabe// Bei dieser Zeile bricht er mir jedesmal ab mit der Meldung :

    Ungültige Konvertierung von der Zeichenfolge in Typ Double.


    Helft mir bitte nochmal ;(