REM Stem-and-leaf plot DIM A(120) DATA 12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124 DATA 37, 48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123 DATA 35, 113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105 DATA 99, 41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58 DATA 114, 126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43 DATA 117, 116, 27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118 DATA 117, 38, 27, 106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122 DATA 109, 124, 115, 43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114 DATA 34, 133, 45, 120, 30, 127, 31, 116, 146 FOR I = 0 TO 120 READ A(I) NEXT I N = 121 NMin1 = N - 1 GOSUB LeafPlot: END LeafPlot: GOSUB ShellSortInt: I = A(0) / 10 I = I - 1 FOR J = 0 TO NMin1 D = A(J) / 10 WHILE D > I I = I + 1 IF J <> 0 THEN PRINT ENDIF SI$ = STR$(I) SI$ = RIGHT$(SI$, 2) PRINT SI$; PRINT " |"; WEND AJMod10 = A(J) MOD 10 SI$ = STR$(AJMod10) SI$ = RIGHT$(SI$, 2) PRINT SI$; NEXT J PRINT RETURN ShellSortInt: Incr = N / 2 WHILE Incr > 0 FOR I = Incr TO NMin1 J = I - Incr JPlIncr = J + Incr WHILE J >= 0 IF A(J) > A(JPlIncr) THEN Tmp = A(J) A(J) = A(JPlIncr) A(JPlIncr) = Tmp JPlIncr = J J = J - Incr ELSE J = -1 ENDIF WEND NEXT I Incr = Incr / 2 WEND RETURN