How to resolve the algorithm Stem-and-leaf plot step by step in the Ceylon programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Stem-and-leaf plot step by step in the Ceylon programming language

Table of Contents

Problem Statement

Create a well-formatted stem-and-leaf plot from the following data set, where the leaves are the last digits: The primary intent of this task is the presentation of information. It is acceptable to hardcode the data set or characteristics of it (such as what the stems are) in the example, insofar as it is impractical to make the example generic to any data set. For example, in a computation-less language like HTML the data set may be entirely prearranged within the example; the interesting characteristics are how the proper visual formatting is arranged. If possible, the output should not be a bitmap image. Monospaced plain text is acceptable, but do better if you can. It may be a window, i.e. not a file.

Note: If you wish to try multiple data sets, you might try this generator.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Stem-and-leaf plot step by step in the Ceylon programming language

Source code in the ceylon programming language

"Run the module `thestemandleafplot`."
shared void run() {
	
	value 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";

	value numbers = data
			.split()
			.map(parseInteger)
			.coalesced;

	value stemsToLeaves = numbers
			.group((Integer element) => element / 10)
			.mapItems((Integer key, [Integer+] item) => item.map((Integer element) => element % 10))
			.mapItems((Integer key, {Integer+} item) => sort(item));
	
	value lastStem = stemsToLeaves.keys.last else 0;
	for(i in 0..lastStem) {
		print("``formatInteger(i).padLeading(2)``| ``" ".join(stemsToLeaves[i] else [])``");
	}
}


  

You may also check:How to resolve the algorithm Maximum triangle path sum step by step in the Julia programming language
You may also check:How to resolve the algorithm Play recorded sounds step by step in the Z80 Assembly programming language
You may also check:How to resolve the algorithm Leap year step by step in the Draco programming language
You may also check:How to resolve the algorithm Nautical bell step by step in the Phix programming language
You may also check:How to resolve the algorithm Gaussian elimination step by step in the F# programming language