Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
30
Task/Averages-Median/BASIC/averages-median.basic
Normal file
30
Task/Averages-Median/BASIC/averages-median.basic
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
DECLARE FUNCTION median! (vector() AS SINGLE)
|
||||
|
||||
DIM vec1(10) AS SINGLE, vec2(11) AS SINGLE, n AS INTEGER
|
||||
|
||||
RANDOMIZE TIMER
|
||||
|
||||
FOR n = 0 TO 10
|
||||
vec1(n) = RND * 100
|
||||
vec2(n) = RND * 100
|
||||
NEXT
|
||||
vec2(11) = RND * 100
|
||||
|
||||
PRINT median(vec1())
|
||||
PRINT median(vec2())
|
||||
|
||||
FUNCTION median! (vector() AS SINGLE)
|
||||
DIM lb AS INTEGER, ub AS INTEGER, L0 AS INTEGER
|
||||
lb = LBOUND(vector)
|
||||
ub = UBOUND(vector)
|
||||
REDIM v(lb TO ub) AS SINGLE
|
||||
FOR L0 = lb TO ub
|
||||
v(L0) = vector(L0)
|
||||
NEXT
|
||||
quicksort v(), lb, ub
|
||||
IF ((ub - lb + 1) MOD 2) THEN
|
||||
median = v((ub + lb) / 2)
|
||||
ELSE
|
||||
median = (v(INT((ub + lb) / 2)) + v(INT((ub + lb) / 2) + 1)) / 2
|
||||
END IF
|
||||
END FUNCTION
|
||||
Loading…
Add table
Add a link
Reference in a new issue