Daten aus Datei auslesen und sortieren



  • Ich muss Daten aus einer Datei auslesen, sortieren und in eine neue Datei schreiben.

    Die Daten, die ausgelesen werden müssen, sind in Form string, string, float.
    BSP:

    AOK 10.12.99 10.9
    AOK 10.11.99 12.0
    AOK 10.10.99 11.0
    BOK 08.17.05 13.0
    ...

    Ich muss also die maximalen und minimalen Werte im letztem Feld für jede Art von Daten vom ersten Feld finden und in eine neue Datei schreiben.

    Wie soll ich da am besten vorgehen?



  • Struktur mit 3 passenden Elementen definieren,
    Speicher für eine Liste davon definieren,
    zeilenweise einlesen und Liste befüllen,
    Sortieren nach Feld 1 und 3,
    abschließend Durchlauf und Wechsel auf neue Datei wenn Feld 1 wechselt



  • oder, wenn Einmalaktion über ne Tabelle in ner relationlalen Datenbank
    auswerten min(..), max() und union mit order by sollten das können.



  • Wutz schrieb:

    Sortieren nach Feld 1 und 3,

    Hierfür ist aber ein stabiler Sortieralgorithmus wie Merge Sort nötig.

    L. G.
    Steffo



  • Steffo schrieb:

    Wutz schrieb:

    Sortieren nach Feld 1 und 3,

    Hierfür ist aber ein stabiler Sortieralgorithmus wie Merge Sort nötig.

    Ich denke nicht, dass Wutz hier vorschlagen wollte, 2mal zu sortieren. Erst nach Feld 1 und dann nach Feld 3. Wenn, dann müsste man das auch umgekehrt machen, also erst Feld 3 und dann nach Feld 1.

    Ich würde beim einmaligen Sortieren nur nach dem ersten Feld gehen und hinterher einmal durchlaufen, um min/max des 3. feldes innerhalb der zusammenhängenden einträge mit gleichem 1. feld berechnen.

    Djrem schrieb:

    Wie soll ich da am besten vorgehen?

    Wo hakt's denn?



  • krümelkacker schrieb:

    Steffo schrieb:

    Wutz schrieb:

    Sortieren nach Feld 1 und 3,

    Hierfür ist aber ein stabiler Sortieralgorithmus wie Merge Sort nötig.

    Ich denke nicht, dass Wutz hier vorschlagen wollte, 2mal zu sortieren.

    Ja richtig. Ich meinte nachrangige Sortierung in einem Durchlauf.



  • Gruppenwechsel nannte man sowas damals:
    http://de.wikipedia.org/wiki/Gruppenwechsel

    Edit:
    Das sollte jeder kennen, der schon mal in COBOL solche Probleme programmiert hat.


Anmelden zum Antworten