UTNianos

Versión completa: Consulta ejercico paradigma funcional
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas tardes gente, les hago una pregunta boludisima pero que me esta rompiendo la cabeza no se si es porque ya estoy quemadisimo o que.

En Haskell necesito encontrar el mayor de 3 números (sin usar lista).

Lo que se me ocurrió fue:

masmas num1 num2 num3 | grande num1 num2 && grande num1 num3
| grande num2 num1 && grande num2 num3
| grande num3 num1 && grande num3 num2

grande num1 num2 = max num1 num2

Pero por supueso no funciona.

Agradeceria una manito =P

Desde ya muchas gracias!!

Saludos!
maximoEntre2 num1 num2
| num1 > num2 = num1
| num1 < num2 = num2

maximoEntre3 :: Int -> Int -> Int -> Int
maximoEntre3 num1 num2 num3
| (maximoEntre2 num1 num2) > num3 = maximoEntre2 num1 num2
| (maximoEntre2 num1 num2) < num3 = num3
No te anda porque max devuelve un número y no podés usar el y lógico (&&) con algo que no sea un booleano. No es necesario hacer guardas y la función max ya existe (no hace falta que la redefinas con otro nombre). Podés pensarlo como que el máximo de tres números es el máximo del máximo entre los primeros dos y el tercero.
Creo que podes hacer algo asi simple



maximo a b c = max (max a b) c


buenisimo gente gracias!!! ahi lo pude sacar
URLs de referencia