Zahlen auf oder absteigend sotieren

Anfängerfragen zum Programmieren mit PureBasic.
cyerangle
Beiträge: 46
Registriert: 15.10.2022 13:46
Computerausstattung: Apple iMac 8 GB 3TB

Zahlen auf oder absteigend sotieren

Beitrag 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
Vielen Dank an Euch :praise:
und viele Grüsse
Mike
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Zahlen auf oder absteigend sotieren

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Zahlen auf oder absteigend sotieren

Beitrag 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
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Zahlen auf oder absteigend sotieren

Beitrag 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
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
cyerangle
Beiträge: 46
Registriert: 15.10.2022 13:46
Computerausstattung: Apple iMac 8 GB 3TB

Re: Zahlen auf oder absteigend sotieren

Beitrag 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
Vielen Dank an Euch :praise:
und viele Grüsse
Mike
Antworten