Prof. Dr. Franz Schweiggert -- Sektion Angewandte Informationsverarbeitung -- 14. Januar 1998
Ingo Melzer Blatt 11
[c]


Systemnahe Software I


Allgemeine Informatik III (WS 97/98)



Abgabetermin 27. Januar 1998

16 Namenslisten (20 Punkte)

Da ja bald das Semester wieder seinem Ende zugeht, müssen auch wir uns wieder die Mühe machen und dem einen oder der anderen Studentin einen Schein ausstellen. Ein Skript erzeugt nach der Klausur eine Datei, die alle Namen in der Form Vorname(n) Nachname enthält. Da Frau Müller diese gerne in alphabetischer Reihenfolge hätte, schreiben Sie ihr ein kleines C Programm, welches diese Aufgabe mittels qsort erledigt. Damit dieses Programm allerdings etwas universeller genutzt werden kann, sollte der Aufruf mit 0 bis 2 Parametern möglich sein. Ohne einen solchen von stdin gelesen und nach stdout geschrieben. Wird ein Parameter angegeben, so wird dieser als Dateinamen für die Eingabedatei interpretiert. Ein evtl. zweiter enthält den Dateinamen für die Ausgabe.

melzer@thales:~/blatt11> cat input 
Peter Maier
Paul Maier
Gerd Amann
Frank Ziegler
Sabiene Daniela Eva Braun
Hans-Joerg Schick
Frank Mayer-Mueller
melzer@thales:~/blatt11> qsort input output
melzer@thales:~/blatt11> cat output
Gerd Amann
Sabiene Daniela Eva Braun
Paul Maier
Peter Maier
Frank Mayer-Mueller
Hans-Joerg Schick
Frank Ziegler
melzer@thales:~/blatt11> qsort in out err
USE: qsort [infile [outfile]]
melzer@thales:~/blatt11> qsort input | head -3
Gerd Amann
Sabiene Daniela Eva Braun
Paul Maier
melzer@thales:~/blatt11>

Verwenden Sie für diese Aufgabe die Funktion qsort. Sicherlich lohnt ein Blick auf man qsort.

Natürlich möchten wir Ihnen an dieser Stelle noch alles Gute für die Klausur am 3. Februar wünschen.


Ingo Melzer 1/14/1998