diff --git a/main.cpp b/main.cpp index 5f90686..0b83357 100644 --- a/main.cpp +++ b/main.cpp @@ -39,18 +39,23 @@ void find_minmax(const vector& numbers, double& min, double& max) { } } -int main() { - auto in = input_data(); - +vector make_histogram(const vector& numbers, size_t bin_count) { double min, max; - find_minmax(in.numbers, min, max); + find_minmax(numbers, min, max); - vector bins(in.bin_count); - for (double x : in.numbers) { - size_t bin_index = (x - min) / (max - min) * in.bin_count; - if (bin_index == in.bin_count) bin_index--; + vector bins(bin_count); + for (double x : numbers) { + size_t bin_index = (x - min) / (max - min) * bin_count; + if (bin_index == bin_count) bin_index--; bins[bin_index]++; } + return bins; +} + +int main() { + auto in = input_data(); + + auto bins = make_histogram(in.numbers, in.bin_count); const size_t SCREEN_WIDTH = 80; size_t max_count = 0;