Problem mit eindimensionalem Feld

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von mikeb69.

    Problem mit eindimensionalem Feld

    Hey,

    Ich gucke mir gerade die Arrays an und versuche, den Min. Und Max. Wert eines Arrays zu finden + deren Indexe.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim T(6) As Integer
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Randomize()
    5. End Sub
    6. Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    7. Dim i As Integer
    8. ListBox1.Items.Clear()
    9. For i = 0 To 6
    10. T(i) = Rnd() * 10 + 20
    11. ListBox1.Items.Add(T(i))
    12. Next
    13. End Sub
    14. Private Sub ButtonMaxMin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonMaxMin.Click
    15. Dim MaxWert, MinWert As Integer
    16. Dim MaxWertIndex, MinWertIndex As Integer
    17. Dim i As Integer
    18. For i = 0 To 6
    19. If T(i) > MaxWert Then
    20. MaxWert = T(i)
    21. MaxWertIndex = i
    22. End If
    23. If T(i) < MinWert Then
    24. MinWert = T(i)
    25. MinWertIndex = i
    26. End If
    27. Next
    28. LabelAusgabe.Text = "Max. Wert: " & MaxWert & ", MaxWertIndex: " & MaxWertIndex & vbCrLf & "Min. Wert: " & MinWert & ", MinWertIndex: " & MinWertIndex
    29. End Sub
    30. End Class


    Für Max.Wert stimmen die Zahlen, bei MinWert und MinWertIndex steht aber immer nur 0 da!?

    Irgendwie finde ich den Fehler gerade nicht ?(
    Hallo Skillord,

    deine Variablen haben immer den Wert 0.

    VB.NET-Quellcode

    1. Dim MaxWert, MinWert As Integer
    2. Dim MaxWertIndex, MinWertIndex As Integer

    Somit sind deine Min-Variablen schon auf dem Minimalen Wert - kleiner geht nicht.

    Gruss

    mikeb69
    Hallo Skillord,

    du musst nur dafür sorgen, dass deine Min-Werte mit einem sehr hohen Wert starten.
    Sodass möglichst auch der höchste Wert in deinem Array kleiner als der Startwert ist.

    Im Gegenteil dazu müssen die Max-Werte sehr klein starten.
    Am besten kleiner als der kleinste Wert in deinem Array.

    Gruss

    mikeb69