RosettaCodeData/Task/Stem-and-leaf-plot/BBC-BASIC/stem-and-leaf-plot.basic

38 lines
1.2 KiB
Plaintext

INSTALL @lib$+"SORTLIB"
Sort% = FN_sortinit(0, 0)
DIM Data%(120)
Data%() = \
\ 12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124, \
\ 37, 48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123, \
\ 35, 113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105, \
\ 99, 41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58, \
\ 114, 126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43, \
\ 117, 116, 27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118, \
\ 117, 38, 27, 106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122, \
\ 109, 124, 115, 43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114, \
\ 34, 133, 45, 120, 30, 127, 31, 116, 146
PROCleafplot(Data%(), DIM(Data%(),1) + 1)
END
DEF PROCleafplot(x%(), n%)
LOCAL @%, C%, i%, j%, d%
@% = 2
C% = n%
CALL Sort%, x%(0)
i% = x%(0) DIV 10 - 1
FOR j% = 0 TO n% - 1
d% = x%(j%) DIV 10
WHILE d% > i%
i% += 1
IF j% PRINT
PRINT i% " |" ;
ENDWHILE
PRINT x%(j%) MOD 10 ;
NEXT
PRINT
ENDPROC