Wie korrigiere ich meinen CountSort-Code, damit er absteigend sortiert?

Hallo!

Meine Aufgabe: Ich soll eine Count Sort implementieren, und zwar so, dass man beim Programm aufrufen im Argument auswählen kann, ob das Array aufsteigend oder absteigend sortiert werden soll.

Mein Problem: Das Aufsteigen sortieren funktioniert, aber das Absteigen sortiert ebenfalls aufsteigend, obwohl es absteigend sortieren soll.

Meine Annahmen: Eigentlich gehe ich davon aus, dass meine Funktion "count_sort_write_output_array", welche das sortierte Array basierend auf der angegebenen Sortierrichtung erstellt, korrekt ist. Schließlich ist es einfach der gleiche Code wie für ASCENDING (aufsteigend), bloß mit geringfügigen Änderungen.

Ich denke eher, dass es daran liegt, dass mein Code erst gar nicht DESCENDING (absteigend) 'auswählt', wenn "desc" als Argument gegeben wird. Ich habe als Standardverhalten ASCENDING gesetzt (also falls kein Argument gegeben wird, oder ein falsches Argument gegeben wird, wird es aufsteigend sortiert), also dachte ich vielleicht, dass entweder

if (strcmp(order, "asc") == 0)

oder

else if (strcmp(order, "desc") == 0)

(in der SortDirection Funktion) irgendwie "falsch" sind, sodass die Sortierfunktion immer das Standardverhalten auswählt. (Also ASCENDING)

Als Debug-Versuch habe ich:

printf("Sortdirection must be defined. Using default: ASCENDING\n");

eingefügt, um zu schauen ob das wirklich der Fall ist. Dennoch wird dieser printf nie gezeigt, selbst wenn ich kein Argument eingebe. Was mich ziemlich verwirrt. Bricht es vorher ab?

Meine 'Frage' an euch: Ich würde es sehr schätzen, wenn jemand einen Blick darauf werfen könnte. Eventuell kann jemand erkennen, woran mein Semantikfehler liegt.

Aber würde ich es auch schätzen, wenn mir jemand andere Debug-Ideen nennen könnte. Ich habe noch nicht viel mit 'Debugging-Methoden' beschäftigt und habe meine Probleme bisher größtenteils mit printfs gelöst. Aber vielleicht gibt es da etwas leichteres!

Vielen Dank!

Bild zum Beitrag
Computer, programmieren, Code, Informatik, Programmiersprache, Visual Studio, Algorithmus, debugging, Sortieralgorithmus
Erwäge GEEKOM Mini IT13 Mini-PC mit Intel® Core™ i7 der 13. Generation - i7-13700H 32GB RAM+2TB SSD zu kaufen. Empfehlenswert?

Hallihallo.

Mein Mini PC von 2019 kackt langsam ab, wird immer langsamer und Win10 ließ sich auch durch umfangreiche Entmüllung und Stilllegung von Autostart nicht mehr beschleunigen. So kam ich zur schmerzlichen Einsicht, dass ich das Teil bald auf den Friedhof des Elektroschrotts geben muss. Update auf Win11 würde auch nicht klappen. "Nicht kompatibel" sagt der Check.

Nun stoße ich immer wieder auf dieses Geekom-Produkt:

13. Generation Intel Core i9-13900H, Core i7-13700H ... was sagt Ihr dazu? Kann man das empfehlen? Gaming mache ich nicht, eher Foto und Fotobearbeitung, Streaming, Online-TV, Video, Radio... Onlinedienste, all das übliche Zeug. Früher sagte man mal "nur zum Briefeschreiben", hihi. Die Älteren erinnern sich.

Bis vor ein paar Tagen kannte ich Geekom gar nicht. Inzwischen liest man dass IT13 überall Testsieger ist und ganz oben bei den Empfehlungen. Hab gesehen, dass das wohl aus Taiwan ist und seit ein paar Jahren extrem erfolgreich. Also, was sagt Ihr dazu, liebe Ditschitällnätiffs?

Finde, sieht sogar schööön aus :-)

In dieser Ausfphrung 739 EUR. Im Netz hab ich einen 5% Rabattcode gefunden, der tatsächlich funktioniert. Bleiben 702 EUR. Zwei Terabyte SSD fand ich schon beachtlich. Windows 11 PRO ist dabei. Also, wie siehts denn aus, Preis und Leistung OK? Vielen Dank für alle Tipps.

Bild zum Beitrag
PC, Computer, Desktop, Festplatte, Kaufberatung, Mini PC, Personal Computer, SSD, Kaufempfehlung, Black Friday, Intel Core, Kaufberatung PC, Kaufempfehlung PC, Windows 11 Pro
Was hältst du davon, wenn die Zukunft der Spielentwicklung „Schmerzsimulationen“ einsetzt?

*Zu Beachten ist, dass das vorgetragene Projekt nur zum Verständnis dient und nicht auf dem Markt verfügbar ist!

 

Stell dir vor es gibt eine neue Spielkonsole die wir einfach mal Gameslayer nennen. Welche Welten erschaffen kann, Figuren und absolute komplexe physische Simulationen in Echtzeit erzeugen. Andere Systeme zeigen dir Plastikpüppchen im Kampf gegen Figuren. Bei Gameslayer sehen Harre, Augen, Hautfarbe, Wasser, Holz, Metall und Rauch genauso wie in realen Leben aus. Hinzu kommt die Schmerzsimulation die wir an einem Spiel „Feathered Serpent“ zeigen bzw. veranschaulichen wollen.

Feathered Serpent beruht hier auf der Kultur der Azteken. Die Azteken wanderten 1195 in Mexiko ein. Manche Leute behaupten jedoch sie seinen von anderen Planeten gekommen. Nehmen wir an Max würde dieses Spiel spielen. Max wird sich nun auf ein dieser Planeten befinden. Seine Aufgabe ist es vier fehlende Sonnen zu finden. Aber zuerst muss er in den Tempel des Regengotts Tlaloc eindringen, sich durch fünf Kammern schlagen und sich dann in dem Reich des Heiligen Feuers stürzen. Schafft er das alles, gelangt er auf die nächsthöhere Spielebene und hat so Zugang zum nächsten Spiel, das wir hier nicht weiter vorstellen.

 

Max wird nun von einer Webcam von Kopf bis Fuß gescannt, nun erscheint ein Charakter haargenau wie er auf dem Bildschirm, dieselben Kleider und die über die Stirn hängende blonden Haarsträhnen. Max musste in der ersten Kammer zwei Waffen finden. Als er ein Schwert findet, löst er unwissentlich ein Geschoss, das auf seinen Avatar, zuraste. Hektisch hackte Max auf die Konsole. Der Bumerang schoss dicht an Max Avatar vorbei und erwischte ihn. Ein dünner Blutstrom erschien auf dem Arm der Figur und ihr Gesicht – Max Gesicht! – verzerrte sich vor Schmerzen. Schmerzsimulation!

 Doch was denkst du über diese vielleicht zukünftige Technik?

 

 

Wird niemals durchkommen 50%
Bin mir unsicher 33%
Ist verwünderlich 17%
Computer, Zukunft, Forschung

Meistgelesene Beiträge zum Thema Computer