# Hugs question

**Hannah Schroeter
**
uk1o@rz.uni-karlsruhe.de

*Wed, 21 Mar 2001 12:00:28 +0100*

Hello!
On Tue, Mar 20, 2001 at 05:13:12PM +0800, Swee Guan wrote:
>* I was suppose to find a function mid3 that takes three integers and returns the middle one in terms of size but i cant seem to get it.
*>* maybe you can help
*
>* mid3 :: Int -> Int -> Int -> Int
*>* -- mid3 takes three integers and
*>* -- returns the middle one in terms of size
*>* mid3 x y z = min2 x (max2 y z)
*
>* please send to swigs01@hotmail.com
*
This is plain wrong.
1st, min2 and max2 aren't defined (use min and max from the prelude).
2nd, then, mid3 1 2 3 = min 1 (max 2 3) = min 1 3 = 1, instead
of 2. A simple implementation could be:
import List(sort)
mid3 x y z = (sort [x,y,z]) !! 1
Kind regards,
Hannah.