Seite 1 von 1
Höchste Zahl in For...Next Schleife finden
Verfasst: 09.09.2010 18:54
von Ironsmurf
Hallo zusammen
Bescheidene Frage, wie kann ich den höchten Wert in einer Schleife finden ?
Code: Alles auswählen
NewList Zahlen()
For n = 1 To 30
AddElement(Zahlen())
Zahlen() = Random(999)
Next
OpenConsole()
ForEach Zahlen()
PrintN(Str(Zahlen()))
Next
Input()
Dieses Beispiel aus dem Forum liefert mir 30 Zufallszahlen, ich möchte jetzt nur die höchste Zahl an eine Variable übergeben,
kann mir jemand erklären, wie ich das machen muss.
Vielen Dank im voraus
Re: Höchste Zahl in For...Next Schleife finden
Verfasst: 09.09.2010 19:03
von ts-soft
Da nicht ersichtlich ist, warum Du das so machst, mal meinen Vorschlag:
Code: Alles auswählen
Dim Zahlen(999)
Define n
For n = 1 To 30
Zahlen(Random(999)) = 1
Next
For n = 999 To 0 Step - 1
If Zahlen(n) = 1
Debug n
Break
EndIf
Next
Erfüllt die Aufgabe schnell, aber ähnelt Deinem Code nicht.
Gruß
Thomas
Re: Höchste Zahl in For...Next Schleife finden
Verfasst: 09.09.2010 19:05
von rolaf
Wozu ne Liste? Am einfachsten gehts so:
Code: Alles auswählen
For A = 1 To 30
Zahl = Random(999)
If Zahl > Hzahl
Hzahl = Zahl
EndIf
Next
Debug Hzahl
Re: Höchste Zahl in For...Next Schleife finden
Verfasst: 10.09.2010 01:50
von Sunny
Und falls es unbedingt ne Liste sein muss, wäre hier mein Vorschlag:
Code: Alles auswählen
NewList Zahlen()
For n = 1 To 30
AddElement(Zahlen())
Zahlen() = Random(999)
Next
n=0
ForEach Zahlen()
n+1
If Zahlen()>=Max
Max=Zahlen()
Nr=n
EndIf
Next
n=0
ForEach Zahlen()
n+1
If Zahlen()=Max
Debug n
EndIf
Next
Re: Höchste Zahl in For...Next Schleife finden
Verfasst: 10.09.2010 09:17
von Bisonte
Höchste Zahl in einer Liste ?
Sort - Lib
Code: Alles auswählen
NewList Zahlen()
For n = 1 To 30
AddElement(Zahlen()) : Zahlen() = Random(999)
Next n
SortList(Zahlen(),#PB_Sort_Descending)
FirstElement(Zahlen())
Debug Zahlen()
Re: Höchste Zahl in For...Next Schleife finden
Verfasst: 10.09.2010 09:32
von Kiffi
und hier die obligatorische bloated Database-Solution
Code: Alles auswählen
UseSQLiteDatabase()
DB = OpenDatabase(#PB_Any, ":memory:", "", "", #PB_Database_SQLite)
DatabaseUpdate(DB, "Create Table myTable (myField)")
For n = 1 To 30
DatabaseUpdate(DB, "Insert Into myTable (myField) Values (" + Str(Random(999)) + ")")
Next
DatabaseQuery(DB, "Select Max(myField) From myTable")
NextDatabaseRow(DB)
Debug GetDatabaseLong(DB, 0)
FinishDatabaseQuery(DB)
Grüße ... Kiffi