#include <iostream>
#include <string>
#include <math.h>
#include <iomanip>
using namespace std;
// declare const variable for array size, and array prototypes
const int SIZE = 20;
void fill(int arr[SIZE]);
void print(int arr[SIZE]);
void printRanges(int arr[SIZE]);
int main() {
// create an array with 20 components
int arr[SIZE] = { 0 };
// call functions
fill(arr);
print(arr);
printRanges(arr);
// pause and exit
getchar();
getchar();
return 0;
}
//fills array arr with 20 random numbers
void fill(int arr[SIZE]) {
for (int i = 0; i < SIZE; i++) {
arr[i] = rand() % 100;
}
}
// prints the array
void print(int arr[SIZE]) {
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
}
// finds the range of each value in the array and stores it in the array ticker, then prints
// a list from 00-90 documenting how many values are in each range
void printRanges(int arr[SIZE]) {
int ticker[10] = { 0 };
for (int i = 0; i < SIZE; i++) {
int index = arr[i] / 10;
if (index < 10) {
ticker[index] += 1;
}
}
cout << endl;
for (int i = 0; i < 10; i++) {
cout << setfill('0') << setw(2) << i << ": ";
cout << setfill('*') << setw(ticker[i]) << "" << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIGRlY2xhcmUgY29uc3QgdmFyaWFibGUgZm9yIGFycmF5IHNpemUsIGFuZCBhcnJheSBwcm90b3R5cGVzCmNvbnN0IGludCBTSVpFID0gMjA7CnZvaWQgZmlsbChpbnQgYXJyW1NJWkVdKTsKdm9pZCBwcmludChpbnQgYXJyW1NJWkVdKTsKdm9pZCBwcmludFJhbmdlcyhpbnQgYXJyW1NJWkVdKTsKCmludCBtYWluKCkgewoKICAgIC8vIGNyZWF0ZSBhbiBhcnJheSB3aXRoIDIwIGNvbXBvbmVudHMgCiAgICBpbnQgYXJyW1NJWkVdID0geyAwIH07CgogICAgLy8gY2FsbCBmdW5jdGlvbnMKICAgIGZpbGwoYXJyKTsKICAgIHByaW50KGFycik7CiAgICBwcmludFJhbmdlcyhhcnIpOwoKCgogICAgLy8gcGF1c2UgYW5kIGV4aXQKICAgIGdldGNoYXIoKTsKICAgIGdldGNoYXIoKTsKICAgIHJldHVybiAwOwp9CgovL2ZpbGxzIGFycmF5IGFyciB3aXRoIDIwIHJhbmRvbSBudW1iZXJzCnZvaWQgZmlsbChpbnQgYXJyW1NJWkVdKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7IGkrKykgewogICAgICAgIGFycltpXSA9IHJhbmQoKSAlIDEwMDsKICAgIH0KfQoKLy8gcHJpbnRzIHRoZSBhcnJheQp2b2lkIHByaW50KGludCBhcnJbU0laRV0pIHsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgaSsrKSB7CiAgICAgICAgY291dCA8PCBhcnJbaV0gPDwgIiAiOwogICAgfQp9CgovLyBmaW5kcyB0aGUgcmFuZ2Ugb2YgZWFjaCB2YWx1ZSBpbiB0aGUgYXJyYXkgYW5kIHN0b3JlcyBpdCBpbiB0aGUgYXJyYXkgdGlja2VyLCB0aGVuIHByaW50cwovLyBhIGxpc3QgZnJvbSAwMC05MCBkb2N1bWVudGluZyBob3cgbWFueSB2YWx1ZXMgYXJlIGluIGVhY2ggcmFuZ2UKdm9pZCBwcmludFJhbmdlcyhpbnQgYXJyW1NJWkVdKSB7CiAgICBpbnQgdGlja2VyWzEwXSA9IHsgMCB9OwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgaSsrKSB7CiAgICAgICAgaW50IGluZGV4ID0gYXJyW2ldIC8gMTA7CiAgICAgICAgaWYgKGluZGV4IDwgMTApIHsKICAgICAgICAgICAgdGlja2VyW2luZGV4XSArPSAxOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykgewogICAgICAgIGNvdXQgPDwgc2V0ZmlsbCgnMCcpIDw8IHNldHcoMikgPDwgaSA8PCAiOiAiOwogICAgICAgIGNvdXQgPDwgc2V0ZmlsbCgnKicpIDw8IHNldHcodGlja2VyW2ldKSA8PCAiIiA8PCBlbmRsOwogICAgfQp9