44 lines
1.6 KiB
Text
44 lines
1.6 KiB
Text
Module Checkit {
|
|
\\ find mode
|
|
Function GetMode {
|
|
Inventory N
|
|
Inventory ALLMODES
|
|
m=1
|
|
While not empty {
|
|
if islet then {
|
|
Read A$
|
|
if Exist(N, A$) then {
|
|
k=Eval(N)
|
|
k++
|
|
if m=k then {
|
|
Append ALLMODES, A$
|
|
}
|
|
if m<k then m=k : Clear ALLMODES : Append ALLMODES, A$
|
|
return N, A$:=k
|
|
} Else Append N, A$:=1 : if m=1 then Append ALLMODES, A$
|
|
|
|
} else {
|
|
Read A
|
|
if Exist(N, A) then {
|
|
k=Eval(N)
|
|
k++
|
|
if m=k then {
|
|
Append ALLMODES, A
|
|
}
|
|
if m<k then m=k : Clear ALLMODES : Append ALLMODES, A
|
|
return N, A:=k
|
|
} Else Append N, A:=1 : if m=1 then Append ALLMODES, A
|
|
}
|
|
}
|
|
=ALLMODES
|
|
}
|
|
Print GetMode(1, 2, 3, 1, 2, 4, 2, 5, 2, 3, 3, 1, 3, 6) ' print 2 3
|
|
Dim A()
|
|
A()=(1, 2, 3, 1, 2, 4, 2, 5, 2, 3, 3, 1, 3, 6)
|
|
\\ get a pointer from A
|
|
m=A()
|
|
Print GetMode(!m) ' print 2 3
|
|
z=stack:=1, 2,"B", 3, 1, 2, "B", 4, 2, 5,"B", 2, 3, 3, 1, 3, 6, "B"
|
|
Print GetMode(!z) ' print 2 3 B
|
|
}
|
|
Checkit
|