44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
dim a( 100), b( 100) ' assumes we will not have vectors of more terms...
|
|
|
|
a$ ="4.1,5.6,7.2,1.7,9.3,4.4,3.2"
|
|
print "Median is "; median( a$) ' 4.4 7 terms
|
|
print
|
|
a$ ="4.1,7.2,1.7,9.3,4.4,3.2"
|
|
print "Median is "; median( a$) ' 4.25 6 terms
|
|
print
|
|
a$ ="4.1,4,1.2,6.235,7868.33" ' 4.1
|
|
print "Median of "; a$; " is "; median( a$)
|
|
print
|
|
a$ ="1,5,3,2,4" ' 3
|
|
print "Median of "; a$; " is "; median( a$)
|
|
print
|
|
a$ ="1,5,3,6,4,2" ' 3.5
|
|
print "Median of "; a$; " is "; median( a$)
|
|
print
|
|
a$ ="4.4,2.3,-1.7,7.5,6.6,0.0,1.9,8.2,9.3,4.5" ' 4.45
|
|
print "Median of "; a$; " is "; median( a$)
|
|
|
|
end
|
|
|
|
function median( a$)
|
|
i =1
|
|
do
|
|
v$ =word$( a$, i, ",")
|
|
if v$ ="" then exit do
|
|
print v$,
|
|
a( i) =val( v$)
|
|
i =i +1
|
|
loop until 0
|
|
print
|
|
|
|
sort a(), 1, i -1
|
|
|
|
for j =1 to i -1
|
|
print a( j),
|
|
next j
|
|
print
|
|
|
|
middle =( i -1) /2
|
|
intmiddle =int( middle)
|
|
if middle <>intmiddle then median= a( 1 +intmiddle) else median =( a( intmiddle) +a( intmiddle +1)) /2
|
|
end function
|