Stem-and-leaf plot: Difference between revisions
Content added Content deleted
(Dialects of BASIC moved to the BASIC section.) |
(→{{header|QuickBASIC}}: Added a solution.) |
||
Line 761: | Line 761: | ||
13 | 1 2 3 9 |
13 | 1 2 3 9 |
||
14 | 1 6 |
14 | 1 6 |
||
</pre> |
|||
==={{header|QuickBASIC}}=== |
|||
{{trans|BBC BASIC}} |
|||
<syntaxhighlight lang="qbasic"> |
|||
REM Stem-and-leaf plot |
|||
DECLARE SUB LeafPlot (X%(), N%) |
|||
DECLARE SUB ShellSortInt (A%()) |
|||
CONST MAXDATNDX = 120 |
|||
DIM Dat%(MAXDATNDX) |
|||
FOR I% = 0 TO MAXDATNDX |
|||
READ Dat%(I%) |
|||
NEXT I% |
|||
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 |
|||
LeafPlot Dat%(), UBOUND(Dat%) + 1 |
|||
END |
|||
SUB LeafPlot (X%(), N%) |
|||
ShellSortInt X%() |
|||
I% = X%(0) \ 10 - 1 |
|||
FOR J% = 0 TO N% - 1 |
|||
D% = X%(J%) \ 10 |
|||
WHILE D% > I% |
|||
I% = I% + 1 |
|||
IF J% THEN PRINT |
|||
PRINT USING "## |"; I%; |
|||
WEND |
|||
PRINT USING "##"; X%(J%) MOD 10; |
|||
NEXT |
|||
PRINT |
|||
END SUB |
|||
SUB ShellSortInt (A%()) |
|||
N% = UBOUND(A%) + 1 |
|||
Incr% = N% \ 2 |
|||
WHILE Incr% > 0 |
|||
FOR I% = Incr% TO N% - 1 |
|||
J% = I% - Incr% |
|||
WHILE J% > -1 |
|||
IF A%(J%) > A%(J% + Incr%) THEN |
|||
SWAP A%(J%), A%(J% + Incr%) |
|||
J% = J% - Incr% |
|||
ELSE |
|||
J% = -1 |
|||
END IF |
|||
WEND |
|||
NEXT I% |
|||
Incr% = Incr% \ 2 |
|||
WEND |
|||
END SUB |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
0 | 7 7 |
|||
1 | 2 3 8 8 |
|||
2 | 3 5 7 7 7 7 7 7 8 8 9 9 |
|||
3 | 0 1 1 1 1 2 3 4 5 6 7 7 7 8 9 |
|||
4 | 0 0 1 2 2 2 2 3 3 3 4 4 4 5 6 7 8 8 |
|||
5 | 2 3 7 8 8 |
|||
6 | 1 3 8 |
|||
7 | 1 |
|||
8 | |
|||
9 | 6 9 |
|||
10 | 4 5 5 5 5 6 7 9 9 9 |
|||
11 | 1 3 3 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 7 8 8 9 9 |
|||
12 | 0 0 1 1 2 2 3 4 4 4 5 5 5 6 7 7 7 7 8 8 |
|||
13 | 1 2 3 9 |
|||
14 | 1 6 |
|||
</pre> |
</pre> |
||