Anuncios Google

[Haskell] Metodo modificar numero de una lista?

Hola buenas estoy intentando hacer un metodo que dada una lista de enteros, indicar un elemento (numero) y todos los elementos de la lista que sean mayores que el elemento dado disminuyan su tamaño, Ejem: [1,2,3,4,5,6] 3 = [1,2,3,3,3] 

Saludos y muchas gracias por la ayuda ;)



Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de User170294

Recorre el array con un 'for'

Recorre el array con un 'for' utilizando el índice i=0 y sumandole 1 a cada periodo. Cada periodo comprueba que arreglo[i] no es mayor que el k=número_a_comprobar. De lo contrario disminuir el número (lo que desees).
Saludos ;)
PD: Suponiendo que para acceder a un elemento en Haskell sea array[elemento] y empiecen por el índice 0. De lo contrario cambia el i=0 por i=1 y escribe correctamente arreglo[i] como deba ser.


Imagen de ALCales

gracias por contestar, ayer

gracias por contestar, ayer saqué como era al final, lo pongo aqui por si alguien algun dia se lo pregunta o busca un ejemplo de haskel xD

alisa :: (Ord a) => [a] -> a -> [a]
alisa [] a = []
alisa (h:t) a = if a < h then a : alisa t a
                else h : alisa t a


Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.