diff --git a/main.cpp b/main.cpp index 313c6a1..5a83b9f 100644 --- a/main.cpp +++ b/main.cpp @@ -56,27 +56,31 @@ vector make_histogram(const vector& numbers, size_t& bin_count) } return baskets; } -int main () { - size_t baskets_max_count; + +void show_histogram_text(const vector& baskets) { const size_t screen_width = 80; const size_t max_asterisk = screen_width - 3 - 1; cout.precision(4); + size_t baskets_max_count; - auto in = input_data(); - auto bins = make_histogram(in.numbers, in.bin_count); - - baskets_max_count = bins[0]; - for (size_t i : bins) { + baskets_max_count = baskets[0]; + for (size_t i : baskets) { if (i > baskets_max_count) baskets_max_count = i; } - for (int i = 0; i < in.bin_count; i++) { - size_t height = bins[i]; + for (int i = 0; i < baskets.size(); i++) { + size_t height = baskets[i]; if (baskets_max_count > max_asterisk) { - height = max_asterisk * (static_cast(bins[i]) / baskets_max_count); + height = max_asterisk * (static_cast(baskets[i]) / baskets_max_count); } - cout << bins[i] << "|"; + cout << baskets[i] << "|"; for (int j = 0; j < height; j++) cout << "*"; cout << endl; } +} + +int main () { + auto in = input_data(); + auto bins = make_histogram(in.numbers, in.bin_count); + show_histogram_text(bins); return 0; }