Étant donné une string représentant une matrice de nombres, renvoie les lignes et les colonnes de cette matrice.
Ainsi, étant donné une string contenant des retours à la ligne, comme celle-ci :
9 8 7
5 3 2
6 6 7
qui représente cette matrice :
1 2 3
|---------
1 | 9 8 7
2 | 5 3 2
3 | 6 6 7
ton code doit pouvoir produire :
Les lignes de notre matrice d'exemple :
Et ses colonnes :
Pour venir à bout de cet exercice, tu dois créer le type de données Matrix,
avec les instances Eq et Show, et implémenter les fonctions suivantes :
colscolumnflattenfromListfromStringreshaperowrowsshapetransposeTu trouveras une déclaration de données factice et les signatures de type déjà en place, mais c'est à toi de définir les fonctions et de créer un type de données, un newtype ou un synonyme de type qui a du sens.
Aucune validation de l'entrée n'est requise. Laisse échouer si la matrice n'est pas rectangulaire, si des caractères invalides sont rencontrés, etc.
shape est (rows, cols)
Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.