All pastes #208236 Raw Edit

arrays

public text v1 · immutable
#208236 ·published 2006-10-18 14:17 UTC
rendered paste body
function occ (nums : array 1 .. * of int, num : int) : int
    var count := 0
    for i : 1 .. upper (nums)
        if nums (i) = num then
            count += 1
        end if
    end for
    result count
end occ

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function median (nums : array 1 .. * of int) : int
    result nums (upper (nums) div 2)

end median
var n : array 1 .. 10 of int := init (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
put median (n)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function highest (nums : array 1 .. * of int) : int
    var g : int := 0
    for i : 1 .. upper (nums)
        if nums (i) > g then
            g := nums (i)
        end if
        end for
    end highest

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
proc topHalf (nums : array 1 .. * of real)
    var total : real := 0
    var mean : real := 0

    for i : 1 .. upper (nums)
        total := total + nums (i)
    end for

    mean := total / upper (nums)

    for i : 1 .. upper (nums)
        if nums (i) > mean then
            put nums (i)
        end if
    end for
end topHalf