Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α14.14 · Εντοπισμός Διπλών Ορισμάτων

Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #1 (Coreutils Themed), Θέμα 2 · Δυσκολία ★★☆ · programming · Κεφάλαια: 14, 12

Πρόγραμμα: duplicate.c (25 μονάδες)

Γράψτε ένα πρόγραμμα που για κάθε όρισμα από την γραμμή εντολών που επαναλαμβάνεται δύο ή περισσότερες φορές τυπώνεται ως πολλαπλό (“dup”) μία φορά στην πρότυπη έξοδο (stdout). Παράδειγμα εκτέλεσης ακολουθεί:

$ gcc -o duplicate duplicate.c
$ ./duplicate foo bar foo baz bank zonk bazinga foo zonk
dup: foo
dup: zonk

Υπόδειξη

Συγκρίνετε τα ορίσματα ανά δύο με strcmp. Το δύσκολο σημείο είναι το «μία φορά»: το foo εμφανίζεται τρεις φορές αλλά τυπώνεται μόνο μία. Ένας τρόπος είναι να αποφασίζετε για κάθε όρισμα μόνο στην πρώτη του εμφάνιση· άλλος είναι να ταξινομήσετε πρώτα, αλλά τότε σκεφτείτε αν αλλάζει η σειρά εξόδου.

Αριθμός στον οδηγό: Α14.14 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: exam-2023-fall-ex1-q2 · Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2023-fall-ex1-q2.html · Markdown (GitHub)