Anonymous user
Averages/Arithmetic mean: Difference between revisions
no edit summary
(Pari/GP) |
No edit summary |
||
Line 941:
[1000 3 1 4 1 5 9 -1000] -> 2.875
[1E+20 3 1 4 1 5 9 -1E+20] -> 0.0</pre>
=={{header|REXX}}==
<lang rexx>
test1='10 9 8 7 6 5 4 3 2 1'
say 'numbers='test1
say 'average='avg(test1)
say
test2='10 9 8 7 6 5 4 3 2 1 0 0 0 0 .11'
say 'numbers='test2
say 'average='avg(test2)
say
test3='10 20 30 40 50 -100 4.7 -11e2'
say 'numbers='test3
say 'average='avg(test3)
say
test4=''
say 'numbers='test4
say 'average='avg(test4)
say
test5='1 2 3 4 five 6 7 8 9'
say 'numbers='test5
say 'average='avg(test5)
say
exit
/*---------------------AVG subroutine------------------*/
avg: procedure; arg y
s=0
do j=1 to words(y)
x=word(y,j)
if \datatype(x,'N') then return '*error* non-numeric' x
s=s+x
end
return s/max(1,words(y))
</lang>
Output:
<pre style="height:30ex;overflow:scroll">
numbers=10 9 8 7 6 5 4 3 2 1
average=5.5
numbers=10 9 8 7 6 5 4 3 2 1 0 0 0 0 .11
average=3.674
numbers=10 20 30 40 50 -100 4.7 -11e2
average=-130.6625
numbers=
average=0
numbers=1 2 3 4 five 6 7 8 9
average=*error* non-numeric FIVE
</pre>
=={{header|Ruby}}==
|