48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
class Program
|
|
{
|
|
static void Main()
|
|
{
|
|
const string 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";
|
|
|
|
int[] ints = data.Split(' ').Select(int.Parse).ToArray();
|
|
|
|
StemAndLeafPlot(ints);
|
|
|
|
Console.ReadKey();
|
|
}
|
|
|
|
public static void StemAndLeafPlot(int[] arr)
|
|
{
|
|
int stemMax = arr.Max() / 10;
|
|
int stemMin = arr.Min() / 10;
|
|
Array.Sort(arr);
|
|
|
|
for (int i = stemMin; i <= stemMax; i++)
|
|
{
|
|
Console.Write("{0,3} | ", i);
|
|
foreach (var t in arr)
|
|
{
|
|
if (t < 10 * i)
|
|
continue;
|
|
if (t >= 10 * (i + 1))
|
|
break;
|
|
Console.Write("{0} ", t % 10);
|
|
}
|
|
Console.WriteLine("");
|
|
}
|
|
}
|
|
}
|