Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Zahlenliste sortieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Zahlenliste sortieren (317 / mal gelesen)
Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 371
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.6.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 19. Dez. 2023 23:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, ich habe mal wieder ein kleines Problem und stehe auf dem Schlauch, ...

ich habe in einem Makro in der Variable "aktuelle_Liste" eine Reihe von Zahlen eingesammelt.

Gebe ich über (DISPLAY aktuelle_Liste) die Liste aus sieht es so aus:

(170 168 169 167 239 240 177 178 164 209 0 179 180 173 175 176 174 171
172 166 165 189 186 188 190 191 183 184 181 182 212 213 218 220 221
222 223 250 251 253 229 228 192 194 193 195 196 198 197 201 199 200
204 203 206 207 205 208 202 225 224 226 227 152 155 156 158 157 150
153 154 160 245 244 151 162 163 243 211 237 236 232 233 234 235 230
231 238 90 91 94 92 93 86 89 87 88 248 249 19 18 20 13 14 15 16 17 7 6
8 4 5 9 149 10 1 2 12 11 21 22 247 24 23 53 52 49 54 55 57 51 50 215
214 242 241 40 44 46 45 43 42 41 73 72 71 77 76 74 75 219 33 34 32 31
37 36 35 3 38 39 216 27 28 30 29 25 26 96 97 98 100 99 210 95 108 107
105 106 110 109 119 112 118 117 116 315 114 113 101 122 120 123 121
111 104 103 102 260 130 124 128 125 126 127 129 80 78 79 81 82 84 83
85 187 252 159 161 246 56 217)

Wie bekomme ich in LISP am einfachsten diese "aktuelle_Liste" sortiert, so dass die Zahlen
von klein nach groß ansteigen?

Habe was von sort und stable-sort gelesen, bekomme die Syntax aber irgendwie gerade nicht hin.

Vielen herzlichen Dank im vorraus für eure Hilfe.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 371
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.6.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 20. Dez. 2023 08:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also folgendes hab ich heraus gefunden, ...

=> (DISPLAY (sort '( 5 2 67 32 8 9) #'<))

liefert folgendes Ergebnis

=> (2 5 8 9 32 67)

So will ich es auch haben, ...

im Code gebe ich deshalb ein

=> (DISPLAY (sort 'aktuelle_Liste #'<))
=> Fehler im Fenster : LISP-Fehler: SW::AKTUELLE_LISTE is not of type SEQUENCE

dann habe ich ausprobiert

=> (DISPLAY (sort aktuelle_Liste #'<))
=> LISP-Fehler: "168" is not of type (OR RATIONAL FLOAT).

Ursprungsliste sieht so aus:

=> (DISPLAY aktuelle_Liste)

(170 168 169 167 239 240 177 178 164 209 0 179 180 173 175 176 174 171
172 166 165 189 186 188 190 191 183 184 181 182 212 213 218 220 221
222 223 250 251 253 229 228 192 194 193 195 196 198 197 201 199 200
204 203 206 207 205 208 202 225 224 226 227 152 155 156 158 157 150
153 154 160 245 244 151 162 163 243 211 237 236 232 233 234 235 230
231 238 90 91 94 92 93 86 89 87 88 248 249 19 18 20 13 14 15 16 17 7 6
8 4 5 9 149 10 1 2 12 11 21 22 247 24 23 53 52 49 54 55 57 51 50 215
214 242 241 40 44 46 45 43 42 41 73 72 71 77 76 74 75 219 33 34 32 31
37 36 35 3 38 39 216 27 28 30 29 25 26 96 97 98 100 99 210 95 108 107
105 106 110 109 119 112 118 117 116 315 114 113 101 122 120 123 121
111 104 103 102 260 130 124 128 125 126 127 129 80 78 79 81 82 84 83
85 187 252 159 161 246 56 217)

Ich glaube ich sehe den Wald vor lauter Bäumen nicht, ...

:-( Gruß Wolfgang

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 371
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.6.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 20. Dez. 2023 10:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hatte ja gesagt ich sehe den Wald vor lauter Bäumen nicht, ...

=> (DISPLAY (sort aktuelle_Liste #'<)) funktionierte nicht, weil die Liste STRINGS enthielt, ....
=> (DISPLAY (sort aktuelle_Liste #'string<)) und so funktioniert es bei STRINGS

Gruß Wolfgang :wink:

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2135
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.3693
● Drafting V17~V20.6
● Modeling V17~V20.6

erstellt am: 20. Dez. 2023 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Seele 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seele:
=> (DISPLAY (sort aktuelle_Liste #'<)) funktionierte nicht, weil die Liste STRINGS enthielt, ....

Das ist genau der SCH... Nachteil warum ich immer nur pprint verwende und nicht display. Mit pprint (in der Console) hättest Du es schnell gesehen. Display verheimlicht dir Infos.

Code:
(sort '("7" "5" "12" "27") #'< :key 'read-from-string)

Falls Du deine Stringliste numerisch sortieren willst und alle strings auch tatsächlich eine Zahl enthalten.

Gruss aus dem (Schwarz) WALD 😃

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz