Hallo Forum,
wie kann man den größten wert in einem Array ermitteln?
Ich habe ein Array mit 3 Ganzzahlen und benötige hier die Größte Zahl.
Gibt es da eine einfache Abfrage oder muss ich alles mit IF vergleichen ?
Gruß
gnaps
Array inhalte vergleichen
Array inhalte vergleichen
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Re: Array inhalte vergleichen
@gnaps
Du kannst es auf- oder absteigend sortieren und dann den letzten bzw. ersten Eintrag auslesen.
Du kannst es auf- oder absteigend sortieren und dann den letzten bzw. ersten Eintrag auslesen.
Re: Array inhalte vergleichen
Ohne Sortierung geht man das Arrays einfach durch und gibt die größte gefundene Zahl zurück.
Code: Alles auswählen
Procedure.i GroessteZahlImIntegerArray( Array a.i(1) )
elemente = ArraySize( a() )
If elemente >= 0
ergebnis = a(0)
For i = 0 To elemente
If a(i) > ergebnis
ergebnis = a(i)
EndIf
Next
ProcedureReturn ergebnis
EndIf
EndProcedure
Procedure.i KleinsteZahlImIntegerArray( Array a.i(1) )
elemente = ArraySize( a() )
If elemente >= 0
ergebnis = a(0)
For i = 0 To elemente
If a(i) < ergebnis
ergebnis = a(i)
EndIf
Next
ProcedureReturn ergebnis
EndIf
EndProcedure
Dim arr.i(2)
arr(0) = 14
arr(1) = 768
arr(2) = -5
Debug GroessteZahlImIntegerArray( arr() )
Debug KleinsteZahlImIntegerArray( arr() )
Debug "------------"
Dim arr2.i(100)
For i = 0 To 100
arr2(i) = Random(2000)
Next i
Debug GroessteZahlImIntegerArray( arr2() )
Debug KleinsteZahlImIntegerArray( arr2() )
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Array inhalte vergleichen
oder einfach so:
Erstellung eines 2 Array als Kopie, damit die Indexe des Array nicht verändert werden.
Erstellung eines 2 Array als Kopie, damit die Indexe des Array nicht verändert werden.
Code: Alles auswählen
Dim Array1.i(41000)
Dim size.i
For t = 0 To 4100
Array1(t) = Random(100000)
Next
size = ArraySize(Array1())
Dim Array2.i(size)
CopyArray(Array1(), Array2())
SortArray(Array2(), #PB_Sort_Ascending)
Groestes = Array2(size)
Kleinstes = Array2(0)
FreeArray(Array2())
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Re: Array inhalte vergleichen
Hallo Forum,
Danke an RSBasic, Deine Antwort hat mir geholfen und reicht aus.
Alles andere wäre zu aufwendig.
Gruß
gnaps
Danke an RSBasic, Deine Antwort hat mir geholfen und reicht aus.
Mein Array ist nur ein Contaner für drei Werte da spielt die Sortierung keine Rolle.RSBasic hat geschrieben: Du kannst es auf- oder absteigend sortieren und dann den letzten bzw. ersten Eintrag auslesen.
Alles andere wäre zu aufwendig.
Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)