Πρόγραμμα: position.c
Γράψτε ένα πρόγραμμα που παίρνει ως πρώτο όρισμα την διάσταση ενός τετραγωνικού πλέγματος και ως υπόλοιπα ορίσματα τις θέσεις των φαντασμάτων (ghosts) του pacman και τυπώνει όλες τις θέσεις στο πλέγμα που θα μπορούσε να τοποθετηθεί ο pacman. Ο pacman δεν μπορεί να τοποθετηθεί στην ίδια γραμμή ή στήλη με κάποιο φάντασμα. Όλες οι διαστάσεις δίνονται ως “x,y” ορίσματα (όπου x, y είναι ακέραιοι). Εάν δεν υπάρχει δυνατή τοποθέτηση το πρόγραμμά σας θα πρέπει να τυπώνει ανάλογο μήνυμα. Παραδείγματα εκτέλεσης ακολουθούν:
$ gcc -o position position.c
$ ./position 4 0,4 3,2 2,1 1,3
Pacman cannot be positioned anywhere
$ ./position 4 0,4 3,2 2,1 0,3
Pacman can be positioned at: 1,0
$ ./position 4 0,4 3,2 2,1
Pacman can be positioned at: 1,0
Pacman can be positioned at: 1,3
$ ./position 4 1,2 2,1
Pacman can be positioned at: 0,0
Pacman can be positioned at: 0,3
Pacman can be positioned at: 3,0
Pacman can be positioned at: 3,3
Δεν χρειάζεστε ολόκληρο το πλέγμα: αρκούν δύο πίνακες σημαιών, ένας για τις γραμμές και ένας για τις στήλες που «καλύπτει» κάποιο φάντασμα. Κοιτάξτε στα παραδείγματα τι γίνεται με συντεταγμένες έξω από το πλέγμα (π.χ. 0,4 σε πλέγμα 4).
Αριθμός στον οδηγό: Α10.20
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: exam-2023-fall-ex11-q2 ·
Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2023-fall-ex11-q2.html ·
Markdown (GitHub)