Forum > Beginners

Stem and Leaf Plot and Integer Array Sort

(1/1)

Boleeman:
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:

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---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.

Zvoni:
Quicksort
https://forum.lazarus.freepascal.org/index.php?topic=31729.0