all tasks

This commit is contained in:
Ingy döt Net 2013-04-11 01:07:29 -07:00
parent b83f433714
commit 68f8f3e56b
14735 changed files with 178959 additions and 0 deletions

View file

@ -0,0 +1,51 @@
FUNCTION beadSort RETURNS CHAR (
i_c AS CHAR
):
DEF VAR cresult AS CHAR.
DEF VAR ii AS INT.
DEF VAR inumbers AS INT.
DEF VAR irod AS INT.
DEF VAR irods AS INT.
DEF VAR crod AS CHAR.
DEF VAR cbeads AS CHAR EXTENT.
inumbers = NUM-ENTRIES( i_c ).
/* determine number of rods needed */
DO ii = 1 TO inumbers:
irods = MAXIMUM( irods, INTEGER( ENTRY( ii, i_c ) ) ).
END.
/* put beads on rods */
EXTENT( cbeads ) = inumbers.
DO ii = 1 TO inumbers:
cbeads[ ii ] = FILL( "X", INTEGER( ENTRY( ii, i_c ) ) ).
END.
/* drop beads on each rod */
DO irod = 1 TO irods:
crod = "".
DO ii = 1 TO inumbers:
crod = crod + SUBSTRING( cbeads[ ii ], irod, 1 ).
END.
crod = REPLACE( crod, " ", "" ).
DO ii = 1 TO inumbers.
SUBSTRING( cbeads[ ii ], irod, 1 ) = STRING( ii <= LENGTH( crod ), "X/ " ).
END.
END.
/* get beads from rods */
DO ii = 1 TO inumbers:
cresult = cresult + "," + STRING( LENGTH( REPLACE( cbeads[ ii ], " ", "" ) ) ).
END.
RETURN SUBSTRING( cresult, 2 ).
END FUNCTION. /* beadSort */
MESSAGE
"5,2,4,1,3,3,9 -> " beadSort( "5,2,4,1,3,3,9" ) SKIP
"5,3,1,7,4,1,1 -> " beadSort( "5,3,1,7,4,1,1" ) SKIP(1)
beadSort( "88,18,31,44,4,0,8,81,14,78,20,76,84,33,73,75,82,5,62,70,12,7,1" )
VIEW-AS ALERT-BOX.