RosettaCodeData/Task/Dutch-national-flag-problem/Visual-FoxPro/dutch-national-flag-problem-2.visual
2016-12-05 23:44:36 +01:00

35 lines
710 B
Text

LOCAL i As Integer, n As Integer, colours As String, k As Integer
colours = "Red,White,Blue"
n = 15
LOCAL ARRAY balls[n,2]
*!* Make sure there is at least 1 of each colour
balls[1,1] = "Blue"
balls[1,2] = 3
balls[2,1] = "Red"
balls[2,2] = 1
balls[3,1] = "White"
balls[3,2] = 2
RAND(-1) && Initialise random number generator
FOR i = 4 TO n
k = RanInt()
balls[i,1] = GETWORDNUM(colours, k, ",")
balls[i,2] = k
ENDFOR
*!* Show the unsorted array
CLEAR
? "Unsorted..."
FOR i = 1 TO n
? balls[i,1], balls[i,2]
ENDFOR
*!* Sort the array on column 2
ASORT(balls, 2)
*!* And show it...
?
? "Sorted..."
FOR i = 1 TO n
? balls[i,1], balls[i,2]
ENDFOR
FUNCTION RanInt() As Integer
RETURN INT(3*RAND()) + 1
ENDFUNC