Elementos de una matriz con algún vecino menor

Las matrices pueden representarse mediante tablas cuyos índices son pares de números naturales. Su tipo se define por

Por ejemplo, la matriz

se define por

Los vecinos de un elemento son los que están a un paso en la misma fila, columna o diagonal. Por ejemplo, en la matriz anterior, el 1 tiene 8 vecinos (el 9, 4, 6, 8, 7, 4, 2 y 5) pero el 9 sólo tiene 3 vecinos (el 4, 8 y 1).

Definir la función

tal que (algunoMenor p) es la lista de los elementos de p que tienen algún vecino menor que él. Por ejemplo,

pues sólo el 1 y el 3 no tienen ningún vecino menor en la matriz.

Soluciones

El código se encuentra en GitHub.

La elaboración de las soluciones se describe en el siguiente vídeo

Nuevas soluciones

  • En los comentarios se pueden escribir nuevas soluciones.
  • El código se debe escribir entre una línea con <pre lang="haskell"> y otra con </pre>

Ampliación de matrices por columnas

Las matrices enteras se pueden representar mediante tablas con índices enteros:

Definir la función

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

En Haskell, se definen las dos primeras matrices se definen por

y el cálculo de la tercera es

Soluciones

El código se encuentra en GitHub.

La elaboración de las soluciones se describe en el siguiente vídeo

Nuevas soluciones

  • En los comentarios se pueden escribir nuevas soluciones.
  • El código se debe escribir entre una línea con <pre lang="haskell"> y otra con </pre>

Matrices de Toepliz

Una matriz de Toeplitz es una matriz cuadrada que es constante a lo largo de las diagonales paralelas a la diagonal principal. Por ejemplo,

la primera es una matriz de Toeplitz y la segunda no lo es.

Las anteriores matrices se pueden definir por

Definir la función

tal que (esToeplitz p) se verifica si la matriz p es de Toeplitz. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

Diagonales principales de una matriz

La lista de las diagonales principales de la matriz

es

Definir la función

tal que (diagonalesPrincipales p) es la lista de las diagonales principales de p. Por ejemplo,

Soluciones

El código se encuentra en GitHub

Posiciones de las diagonales principales

Las posiciones de una matriz con 3 filas y 4 columnas son

La posiciones de sus 6 diagonales principales son

Definir la función

tal que (posicionesdiagonalesprincipales m n) es la lista de las posiciones de las diagonales principales de una matriz con m filas y n columnas. Por ejemplo,

Soluciones

El código se encuentra en GitHub