Hi All.
Was trying to convert some CSharp code from Rosetta code to Lazarus to create a Stem and Leaf Plot.
CSharp has sort array function = Sort(arr);. How do I implement this in Lazarus
Below is my code so far:
program stemandleaf;
uses
SysUtils, Math;
procedure StemAndLeafPlot(arr: array of Integer);
var
stemMax, stemMin, i, t: Integer;
begin
stemMax := MaxIntValue(arr) div 10;
stemMin := MinIntValue(arr) div 10;
Sort(arr);
for i := stemMin to stemMax do
begin
WriteLn(Format('%3d | ', [i]));
for t in arr do
begin
if t < 10 * i then
Continue;
if t >= 10 * (i + 1) then
Break;
Write(Format('%d ', [t mod 10]));
end;
WriteLn('');
end;
end;
var
data: string;
ints: array of Integer;
begin
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';
SetLength(ints, 0);
for var s in data.Split(' ') do
ints := ints + [StrToInt(s)];
StemAndLeafPlot(ints);
ReadLn;
end.
Thank you in advance.