Cátedra: Monica Kuhn
Fecha: 1º Oportunidad - 1º Cuatrimestre 2007
Día: 08/05/2007
Dado el siguiente ambiente (un entero y una matriz representada a traves de listas, donde cada lista es una fila de la matriz):
< Ente < <12 21 35> <41 57 86> <17 18 25> <...> > >
Se pide generar una función que devuelva solo los númeos de columnas cuya sumatoria de sus números supere al entero en cuestión.
No se puede utilizar ni recursividad ni While.
EJ:
< 84 < <11 22 23> <41 15 16> <17 18 25> <15 30 35> > >
Resultado:
< 2 3>
Dada una matriz cuadrada numérica M, escribir una expresión en APL para obtener la matriz resultante de poner en cero las posiciones de M que pertenezcan al “diamante central”.
Ejemplos:
M <- 9 9 p 7?9 M
Resulta en :
M <- 6 6 p 7?9 M
Resulta en :
def suma_columnas = alpha (+/) def numerar_vector = trans o [iota o length, id] def select = great o [2 o 1, 1 o 2] -> appendl o [2 o 2, 1 o 1];2 def resultado = 2 o /select o appendr o [numerar_vector o suma_columnas o 2,[1,~<>]]
(,(1+⌈a)≥(W,V)∘.+W←(⍳⌈A),V←⌽⍳⌈(A←0.5×(⍴M)[0])-1)/M