C++ Datei lesen, Inhalt in Array und sortieren

  • Ersteller Ersteller VirusDeluXe
  • Erstellt am Erstellt am
V

VirusDeluXe

Gast
Hallo zusammen,

ich bin gerade ziemlich unter Zeitdruck, weil ich eine Kleinigkeit nicht hinbekomme. Peinlicherweise habe ich mich mit so einer Situation nie auseinandersetzen müssen.

Hoffentlich hat jmd. eine schlanke und gute Lösung für.

Der Sachverhalt:

Ich habe eine .txt-Datei mit einer Zahl und einem Namen (davon mehrere). Der Aufbau sieht folgendermaßen aus:

1000|Thomas
3500|Olaf
2200|Dennis
900|Kerstin
usw.

Ich benötige diese Daten sortiert. Am besten in einem Array oder sowas, weil ich die 5 Zeilen mit den höchsten Werten ausgeben möchte. Dazu kommt das zweite Problem ... wie sortiere ich das Ganze? Jede Zahl ist dem Namen nach dem Trennzeichen "|" zugeordnet.

Wer mir hierfür eine einfache und schnelle Lösung anbieten kann, dem wäre ich unendlich dankbar. Ich würde sehr gerne auf Schnickschnack wie Klassen und Strukturen im Moment verzichten, weil ich habe kaum Zeit an dieser Stelle irgendwas großartig zu ändern (bin im Verzug, weil ich eigtl. aktuell krankgeschrieben bin).

Ich danke vielmals für eine Lösung!

Grüße, Vire
 
Muss es programmiert sein? Ich würde das jetzt einfach mit linux kommandozeilen-tools erledigen (gibts per cygwin auch für windows)

sort -t '|' -k 1 -rg datei.txt | head -n 5
 
Muss es ein Array sein, geht kein Vector?
Wenn Array würde ich dennoch beim Einlesen den Weg über einen Vector gehen...

An sich ist das doch aber ein relativ triviales Problem... wie du selbst sagst. Aber da würde ich den "Schnickschnack" nutzen...

Zum Sortieren gibt's auch genug in der STL, wo man sich nicht mal um den Algorithmus kümmen muss...

VirusDeluXe schrieb:
Ich würde sehr gerne auf Schnickschnack wie Klassen und Strukturen im Moment verzichten, weil ich habe kaum Zeit an dieser Stelle irgendwas großartig zu ändern
Gute Begründung. Weil man eh schon hinten dran ist nimmt man statt einer schnell zu realisierenden, sauberen Lösung lieber eine schlechte, die auch noch in der Wartbarkeit unterlegen ist... Klingt logisch...
 
Quicksort, Bubblesort, Mergesort, Insertionsort, Cocktailsort, Combsort, ...

Such dir einen aus ...
Findest du es nicht ein bisschen dreist, dass du nun möchtest, dass jemand deine Hausaufgaben macht, nur weil du krank warst (oder einfach nur gepennt hast)?
 
Whiz-zarD schrieb:
Quicksort, Bubblesort, Mergesort, Insertionsort, Cocktailsort, Combsort, ...

Such dir einen aus ...
Findest du es nicht ein bisschen dreist, dass du nun möchtest, dass jemand deine Hausaufgaben macht, nur weil du krank warst (oder einfach nur gepennt hast)?

Ich würde es dreist finden, wenn ich nicht bereits seit beschissenen 18 Stunden vor dem Rotz sitzen würde und zu keiner Lösung komme. Aber es gibt zwei einfache Möglichkeiten. Entweder du hast Interesse daran, dass es nicht noch weitere 18 Stunden werden, oder du lässt es einfach bleiben. Verstehe nicht wieso man jedes mal hier eine Grundsatzdiskussion hat. Ich habe damit keine bösen Absichten, es war lediglich eine klare Aussage wieso ich es eilig habe und keine aufwendig Lösung brauche. Und ich bin kein Faulenzer und habe auch nicht gepennt, weil ich trotz Fieber über 2.000 Zeilen Code reingehackt habe! Finde eher so eine konkrete Anschuldigung eine Frechheit! Das Board ist als Hilfe da, ich komme nicht drauf, also benötige ich Hilfe. Wenn man jedes Mal einen so doofen Satz sich reinpfeifen muss, dann brauch man gar nicht mehr hier reinschreiben.

1668mib schrieb:
Gute Begründung. Weil man eh schon hinten dran ist nimmt man statt einer schnell zu realisierenden, sauberen Lösung lieber eine schlechte, die auch noch in der Wartbarkeit unterlegen ist... Klingt logisch...

Das Ding muss an dieser Stelle nie wieder gewartet werden. Deswegen würde ich relativ gerne darauf verzichten. Wenn ich überhaupt an dem Programm nochmal was machen müsste, dann wäre es eventuell komplett neu schreiben als "Freizeitbeschäftigung", weil ich relativ spät erkannt habe, dass es Sinn machen würde die WM_MESSAGES effektiver zu nutzen.

bu1137 schrieb:
Muss es programmiert sein?

Ja, muss leider programmiert sein.
 
Zuletzt bearbeitet:
Zwischen "Hilfe wollen" und "einer Lösung wollen" besteht allerdings schon ein Unterschied. Du vermittelst hier nicht den Eindruck, dass du Hilfe brauchst, sondern eine Lösung. Das schreibst du sogar selbst.

Wenn du Hilfe wolltest würdest du fragen, an welcher Stelle denn dein Ansatz nicht funktioniert. Aber du hast ja nicht mal einen Ansatz. Und deshalb machen sich auch die wenigsten hier die Mühe, dir zu helfen. Wenn du es nicht mal zu einem Ansatz geschafft hast, dann kann das Problem ja nicht so groß sein oder es hat dich nicht wirklich beschäftigt. Zudem behaupte ich, dass die meisten das Problem für trivial halten und es eigentlich echt unverständlich ist, dass du nicht mal deine nicht-funktionierenden Code-Ansätze postest...
 
Habe es selber geschafft. Dem Rest danke ich.

Für dich speziell: LMAA

Habe noch nirgends so dämliche Diskussionen gehabt wie jedes mal auf diesem Board. Auf dem Board kann man auch sagen ich will Äpfel, legt einem zugar Äpfel vor und dann wird darüber diskutiert ob man nicht gerne Birnen hätte. Hab die Schnauze nun wirklich gestrichen voll.

Dem Rest einen schönen Tag. Thema ist für mich erledigt.
 
Zurück
Oben