int[] heights = new int[40]; int[] set1 = new int[13]; int[] set2 = new int[33]; int[] set3 = new int[34]; void setup() { size(800, 600); generateData(heights); separateData(heights, set1, set2, set3); int sum1 = calculateSum(set1); float mean1 = calculateMean(set1); int sum2 = calculateSum(set2); float mean2 = calculateMean(set2); int sum3 = calculateSum(set3); float mean3 = calculateMean(set3); background(255); textSize(16); fill(0); textAlign(CENTER, CENTER); // Display set 1 information displayResult(100, 100, set1, "100-133"); displaySumAndMean(100, 150, sum1, mean1); // Display set 2 information displayResult(300, 100, set2, "134-166"); displaySumAndMean(300, 150, sum2, mean2); // Display set 3 information displayResult(500, 100, set3, "167-200"); displaySumAndMean(500, 150, sum3, mean3); save("Activity22.png"); } void generateData(int[] heights) { for (int i = 0; i < heights.length; i++) { heights[i] = (int) random(100, 201); // Random height between 100 and 200 } } void separateData(int[] heights, int[] set1, int[] set2, int[] set3) { int index1 = 0, index2 = 0, index3 = 0; for (int height : heights) { if (height >= 100 && height <= 133 && index1 < set1.length) { set1[index1++] = height; } else if (height >= 134 && height <= 166 && index2 < set2.length) { set2[index2++] = height; } else if (height >= 167 && height <= 200 && index3 < set3.length) { set3[index3++] = height; } } } int calculateSum(int[] data) { int sum = 0; for (int value : data) { sum += value; } return sum; } float calculateMean(int[] data) { float sum = calculateSum(data); return sum / data.length; } void displayResult(int x, int y, int[] data, String range) { // Display range information text("Range:", x, y); text(range, x, y + 20); // Display set information for (int i = 0; i < data.length; i++) { if (data[i] != 0) { text(data[i], x, y + (i + 2) * 20); } } } void displaySumAndMean(int x, int y, int sum, float mean) { // Display sum text("Sum: " + sum, x, y + 320); // Display mean text("Mean: " + mean, x, y + 340); }