welcher ist der groesste int?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von MrLee.

    welcher ist der groesste int?

    Hey Leutz, stehe da iwie grad aufm Schlauch, ich habe 6 Integer: i1 i2 i3 i4 i5 und i6, alle haben verschiedene Werte, wie kann ich herausfinden, welcher von den int's den groessten Wert hat?

    Danke im Voraus

    MFG...MrLee

    Keine PN's bezüglich VB an mich! Dafür gibt es das Forum!

    :Kreis hier. Kreis da.:

    Array zur Hilfe nehmen

    Hey
    nimm dir doch nen Array zur Hilfe(wo du die Int-Werte drin speicherst) und noch nen weiteren Int-Wert - von mir aus kannste den BiggestInt oder so nennen.
    Dann weißte dem den ersten Wert zu und überprüfst dann in ner for-schleife, welcher Wert der größte ist, in dem du den Array durchläufst. ;) wenn ein Wert größer als BiggestInt ist, dann wird dieser Wert einfach in BiggestInt gespeichert.
    Verstehste wie ich meine.
    Ist zwar umständlich - aber das ist Informatik ;) :P
    Aber das weißte ja selbst

    MFG
    Fab

    ;)
    Vielleicht gibs ne elegantere Methode aber mir fällt jetzt nur eine schleifen

    VB.NET-Quellcode

    1. Dim maximalWert As Integer = 0
    2. For x = 1 To 6
    3. If i(x) > maximalWert Then maximalWert = i(x)
    4. Next x


    am einfachsten wäre natürlich ein Array, weil man das besser durchlaufen kann. Ich wüsste nicht wie man in einer Schleife eine Variable I + Zahl holen kann.
    Naja es soll halt verdeutlichen =) zumal ich weiß das mclee proggn kann, sollte das nur denkanstoß sein. Wenn Syntaxfehler auftauchen sollte soviel können mitgebracht werden um dies selber zu beheben, bzw. sich selber weiter mit den befehlen über google zu suchen!
    Hi
    Alex, dein Code bezieht sich auf VB6. Vergleichen wird bereits angeboten. Hier mal ein Beispiel:

    VB.NET-Quellcode

    1. Public Function GetBiggest(ByVal ParamArray Variables() As Integer) As Integer
    2. If Variables.Length <= 0 Then
    3. Throw New Exception("Variables mustnot be empty.")
    4. Else
    5. Dim arr(Variables.Length - 1) As Integer
    6. Array.Copy(Variables, arr, Variables.Length)
    7. Array.Sort(arr)
    8. Return arr(arr.Length - 1)
    9. End If
    10. End Function
    11. Public Function GetSmallest(ByVal ParamArray Variables() As Integer) As Integer
    12. If Variables.Length <= 0 Then
    13. Throw New Exception("Variables mustnot be empty.")
    14. Else
    15. Dim arr(Variables.Length - 1) As Integer
    16. Array.Copy(Variables, arr, Variables.Length)
    17. Array.Sort(arr)
    18. Return arr(0)
    19. End If
    20. End Function


    Ich weiß jetzt nicht, ob man das Array.Copy rauslassen kann - bin aber auch zu faul das zu testen :D...

    Gruß
    ~blaze~
    Du kannst auch mal hier reinschauen:

    [VBA: Sonstige/Allgemein] Mathematik mit VBA - Teil 1: Primzahlen, Bruchrechnen, Kombinatronik und Statistik

    Der Rechenweg entspricht im Grunde Dodos Beispiel. Jedoch setzt er den Anfangswert für das Maximum auf 0. Falls alle Integerwerte negativ sind, würde bei ihm 0 herauskommen.

    Das soll den Code von ~blaze~ nicht abwerten. Es soll nur eine Alternative aufzeigen bzw. eine Erweiterung einer bestehenden Alternative.
    Hallo!

    Warum so umständlch?

    VB.NET-Quellcode

    1. Private Sub Button1_Click _
    2. (ByVal sender As System.Object _
    3. , ByVal e As System.EventArgs) _
    4. Handles Button2.Click
    5. Dim i1 = 10, i2 = 20, i3 = 5, i4 = 100, i5 = 80, i6 = 4
    6. Dim i As Int32() = New Int32() {i1, i2, i3, i4, i5, i6}
    7. Array.Sort(i)
    8. MsgBox(i(i.GetUpperBound(0)))
    9. End Sub



    Und hier noch eine interessante Lösung für vb2008:

    VB.NET-Quellcode

    1. Private Sub Button1_Click _
    2. (ByVal sender As System.Object _
    3. , ByVal e As System.EventArgs) _
    4. Handles Button1.Click
    5. Dim i1 = 10, i2 = 20, i3 = 5, i4 = 100, i5 = 80, i6 = 4
    6. MsgBox(GetMaxInt(New Int32() {i1, i2, i3, i4, i5, i6}))
    7. End Sub
    8. Private Function GetMaxInt(ByVal numbers() As Int32) As Int32
    9. Dim ret = From value In numbers _
    10. Order By value Descending _
    11. Select value Take 1
    12. Return ret.ToList.Item(0)
    13. End Function
    hey supa danke leute, war nur jetzt n paar Tage net wirklich online, desshalb hab ich net geantwortet, aba danke an alle^^

    Keine PN's bezüglich VB an mich! Dafür gibt es das Forum!

    :Kreis hier. Kreis da.: