Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/Averages-Median/Seed7/averages-median.seed7
Normal file
28
Task/Averages-Median/Seed7/averages-median.seed7
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
$ include "seed7_05.s7i";
|
||||
include "float.s7i";
|
||||
|
||||
const type: floatList is array float;
|
||||
|
||||
const func float: median (in floatList: floats) is func
|
||||
result
|
||||
var float: median is 0.0;
|
||||
local
|
||||
var floatList: sortedFloats is 0 times 0.0;
|
||||
begin
|
||||
sortedFloats := sort(floats);
|
||||
if odd(length(sortedFloats)) then
|
||||
median := sortedFloats[succ(length(sortedFloats)) div 2];
|
||||
else
|
||||
median := 0.5 * (sortedFloats[length(sortedFloats) div 2] +
|
||||
sortedFloats[succ(length(sortedFloats) div 2)]);
|
||||
end if;
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
const floatList: flist1 is [] (5.1, 2.6, 6.2, 8.8, 4.6, 4.1);
|
||||
const floatList: flist2 is [] (5.1, 2.6, 8.8, 4.6, 4.1);
|
||||
begin
|
||||
writeln("flist1 median is " <& median(flist1) digits 2 lpad 7); # 4.85
|
||||
writeln("flist2 median is " <& median(flist2) digits 2 lpad 7); # 4.60
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue