Averages/Median: Difference between revisions

Content deleted Content added
Line 869:
 
=={{header|Elena}}==
ELENA 3.x :
<lang elena>#define system.
<lang elena>#defineimport system'routines.
#defineimport system'math.
#defineimport extensions.
#class(extension) op
{
#method median
[
#var aSorted := self ascendant.
 
#var aLen := aSorted length.
if (aLen == 0)
? [ ^ nil. ];
! [
#var aMiddleIndex := aLen / 2.
if (aLen mod:2 == 0)
? [ ^ (aSorted@(aMiddleIndex - 1) + aSorted@aMiddleIndex) / 2. ];
! [ ^ aSorted@aMiddleIndex. ].
].
]
}
 
#symbol program =
[
#var a1 := (4.1r, 5.6r, 7.2r, 1.7r, 9.3r, 4.4r, 3.2r).
#var a2 := (4.1r, 7.2r, 1.7r, 9.3r, 4.4r, 3.2r).
console writeLine:"median of (":a1:") is ":(a1 median).
console writeLine:"median of (":a2:") is ":(a2 median).
console readChar.
].</lang>
{{out}}