Seite 1 von 1
Zahlen auf oder absteigend sotieren
Verfasst: 25.03.2023 14:49
von cyerangle
Hallo zusammen,
ich stehe wieder einmal auf meiner Leitung. Ich habe 3 Zahlen und möchte diese sortiern.
Ich weis, dass das mit einer geschachtelten if Schleife geht. Ich bekomme es aber nicht
gebacken. Kann mir jemand auf die Sprünge helfen?
Vielen Dank
Mike
Re: Zahlen auf oder absteigend sotieren
Verfasst: 25.03.2023 15:32
von STARGÅTE
Vorab, es gibt keine "
if-Schleife".
Falls du aber keine Liste benutzten willst, sondern du wirklich nur drei Zahlen hast, dann z.B. so:
Code: Alles auswählen
Define a = 34
Define b = 12
Define c = 23
If a <= b
If a <= c
If b <= c
Debug a
Debug b
Debug c
Else
Debug a
Debug c
Debug b
EndIf
Else
Debug c
Debug a
Debug b
EndIf
Else
If b <= c
If a <= c
Debug b
Debug a
Debug c
Else
Debug b
Debug c
Debug a
EndIf
Else
Debug c
Debug b
Debug a
EndIf
EndIf
Re: Zahlen auf oder absteigend sotieren
Verfasst: 25.03.2023 15:50
von DePe
Hallo Mike,
sind ein bisschen wenig Angaben, meinst so etwas:
Code: Alles auswählen
EnableExplicit
Define a = Random(20, 1) - 10
Define b = Random(20, 1) - 10
Define c = Random(20, 1) - 10
Define s
Debug "" + a + ", " + b + ", " + c
Repeat
s = #True
If a > b
Swap a, b
s = #False
EndIf
If b > c
Swap b, c
s = #False
EndIf
Until s
Debug "" + a + ", " + b + ", " + c
Peter
Re: Zahlen auf oder absteigend sotieren
Verfasst: 25.03.2023 17:59
von mk-soft
Ohne repeat mit drei swaps ...
Code: Alles auswählen
EnableExplicit
Define a = Random(20, 1) - 10
Define b = Random(20, 1) - 10
Define c = Random(20, 1) - 10
Define s
Debug "" + a + ", " + b + ", " + c
If a > b
Swap a, b
EndIf
If a > c
Swap a, c
EndIf
If b > c
Swap b, c
EndIf
Debug "" + a + ", " + b + ", " + c
Re: Zahlen auf oder absteigend sotieren
Verfasst: 25.03.2023 19:15
von cyerangle
Hallo Peter,
genau so etwas habe ich gesucht. ich kannte nur Swap nicht in PureBasic.
Ausserdem habe ich nicht daran gedacht es mit Repeat und Until zu lösen,
ist ja viel eleganter
Vielen vielen Dank
Mike