Dado un string que representa una matriz de números, devuelve las filas y las columnas de esa matriz.
Así, dado un string con saltos de línea incrustados como este:
9 8 7
5 3 2
6 6 7
que representa esta matriz:
1 2 3
|---------
1 | 9 8 7
2 | 5 3 2
3 | 6 6 7
tu código debería poder darte:
Las filas de nuestra matriz de ejemplo:
Y sus columnas:
Para completar este ejercicio, necesitas crear el tipo de dato Matrix,
con instancias de Eq y Show, e implementar las siguientes funciones:
colscolumnflattenfromListfromStringreshaperowrowsshapetransposeEncontrarás una declaración de datos ficticia y las firmas de tipo ya en su lugar, pero depende de ti definir las funciones y crear un tipo de dato, un newtype o un sinónimo de tipo que tenga sentido.
No se requiere ninguna validación de los datos. Deja que falle si la matriz no es rectangular, si se encuentran caracteres inválidos, etc.
shape es (rows, cols)
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.