Actualización de «Ampliación de matrices por columnas»
He actualizado las soluciones del ejercicio Ampliación de matrices por columnas cuyo enunciado es
Las matrices enteras se pueden representar mediante tablas con índices enteros:
type Matriz = Array (Int,Int) Int
Definir la función
ampliaColumnas :: Matriz -> Matriz -> Matriz
tal que (ampliaColumnas p q)
es la matriz construida añadiendo las columnas de la matriz q
a continuación de las de p
(se supone que tienen el mismo número de filas). Por ejemplo, si p
y q
representa las dos primeras matrices, entonces (ampliaColumnas p q)
es la tercera
|0 1| |4 5 6| |0 1 4 5 6| |2 3| |7 8 9| |2 3 7 8 9|
En Haskell, se definen las dos primeras matrices se definen por
ej1 = listArray ((1,1),(2,2)) [0..3] ej2 = listArray ((1,1),(2,3)) [4..9]
y el cálculo de la tercera es
λ> ampliaColumnas ej1 ej2 array ((1,1),(2,5)) [((1,1),0),((1,2),1),((1,3),4),((1,4),5),((1,5),6), ((2,1),2),((2,2),3),((2,3),7),((2,4),8),((2,5),9)] λ> elems (ampliaColumnas ej1 ej2) [0,1,4,5,6,2,3,7,8,9]