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

Α12.16 · Περιστροφή Πίνακα

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

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

Γράψτε ένα πρόγραμμα που διαβάζει ένα πίνακα ακεραίων και τον περιστρέφει αντίστροφα από την φορά των δεικτών του ρολογιού. Τα δεδομένα περιέχονται σε αρχείο που δίνεται ως πρώτο όρισμα. Το αρχείο θα περιέχει τον αριθμό των γραμμών και τις στηλών του πίνακα και θα ακολουθούν τα στοιχεία του πίνακα. Παράδειγμα εκτέλεσης ακολουθεί:

$ cat array.txt
3 5
2 9 8 3 2
2 8 1 0 8
7 1 2 4 3
$ gcc -o rotate rotate.c
$ ./rotate array.txt
2 8 3
3 0 4
8 1 2
9 8 1
2 2 7

Υπόδειξη

Διαβάστε τις διαστάσεις με fscanf και δεσμεύστε δυναμικά χώρο για R*C ακεραίους. Ο περιστραμμένος πίνακας έχει C γραμμές και R στήλες: βρείτε, από το παράδειγμα, ποιο στοιχείο του αρχικού πίνακα καταλήγει στη γραμμή i, στήλη j της εξόδου, και τυπώστε με αυτή τη σειρά χωρίς να φτιάξετε δεύτερο πίνακα. Ελέγξτε αρνητικές ή μηδενικές διαστάσεις και αρχεία με λιγότερα στοιχεία από όσα δηλώνουν.

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