Δίνεται μια συμβολοσειρά που αναπαριστά έναν πίνακα αριθμών, επέστρεψε τις γραμμές και τις στήλες αυτού του πίνακα.
Έτσι, δίνεται μια συμβολοσειρά με ενσωματωμένες αλλαγές γραμμής, όπως:
9 8 7
5 3 2
6 6 7
που αναπαριστά αυτόν τον πίνακα:
1 2 3
|---------
1 | 9 8 7
2 | 5 3 2
3 | 6 6 7
ο κώδικάς σου θα πρέπει να μπορεί να βγάλει:
Οι γραμμές για τον πίνακα του παραδείγματός μας:
Και οι στήλες του:
Για να ολοκληρώσεις αυτή την άσκηση, χρειάζεται να δημιουργήσεις τον τύπο δεδομένων Matrix,
με στιγμιότυπα Eq και Show, και να υλοποιήσεις τις παρακάτω συναρτήσεις:
colscolumnflattenfromListfromStringreshaperowrowsshapetransposeΘα βρεις μια εικονική δήλωση δεδομένων και υπογραφές τύπων που υπάρχουν ήδη, αλλά εξαρτάται από εσένα να ορίσεις τις συναρτήσεις και να δημιουργήσεις έναν κατάλληλο τύπο δεδομένων, newtype ή συνώνυμο τύπου.
Δεν απαιτείται έλεγχος εγκυρότητας της εισόδου. Άφησέ το να αποτύχει αν ο πίνακας δεν είναι ορθογώνιος, αν συναντηθούν μη έγκυροι χαρακτήρες, κ.λπ.
Το shape είναι (rows, cols)
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.