/////////////////////////////////////////// Служебные.
#define SUM3(a,b,c) ((a)+(b)+(c))
#define MAX3(a,b,c) (((a)>(b))?(((a)>(c))?(a):(c)):(((b)>(c))?(b):(c)))
#define MIN3(a,b,c) (((a)<(b))?(((a)<(c))?(a):(c)):(((b)<(c))?(b):(c)))
#define MAX2(a,b) ((a)>(b))?(a):(b)
////// Монстры моего подсознания. Хотел красоту. :)
#define MIDDLE_OF_THE_ROAD(x,y,z) (((MAX3(x,y,z))==x)?(MAX2(y,z)):(((MAX3(x,y,z))==y)?((MAX2(x,z))):((MAX2(x,y)))))
#define MIDDLE_OF_THE_ROAD2(a,b,c) (((((a)>=(b))&&((a)<=(c))) || (((a)<=(b))&&((a)>=(c)))) ? (a) : \
( ((((b)>=(a))&&((b)<=(c)))||(((b)<=(a))&&((b)>=(c))) ) ? (b):(c)))
/////////////////// То, что мне любезно предложили:
#define MEAN(a, b, c) (((a)>(b))?(((b)>(c))?(b):(((c)>(a))?(a):(c))):(((b)>(c))?(((c)>(a))?(c):(a)):(b)))
#define med(a,b,c) ((a)>(b))?(((c)>(b))?(((a)>(c))?(c):(a)):b):(((c)>(b))?(b):(((a)>(c))?(a):(c)))
#define media( x, y, z ) (SUM3((x),(y),(z))-MAX3((x),(y),(z))-MIN3((x),(y),(z)))
//////////////