From daae5721af6fe264716d110a7175ba0528c9f1e3 Mon Sep 17 00:00:00 2001 From: "Alexander (AntonovichAN)" <AntonovichAN@mpei.ru> Date: Sun, 29 Sep 2024 17:39:00 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=202.1=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/main.cpp b/main.cpp index 63ef05b..008f13a 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,9 @@ using namespace std; +const size_t SCREEN_WIDTH = 80; +const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; + struct Input { vector<double> numbers; size_t bin_count{}; @@ -42,16 +45,14 @@ void find_minmax(const vector<double> &numbers, double &min, double &max){ } } -int main(){ - Input in = input_data(); - - vector<size_t> bins ( in.bin_count ); +vector<size_t> make_histogram(const vector<double> &numbers, size_t bin_count){ + vector<size_t> bins ( bin_count ); double min = in.numbers[0]; double max = in.numbers[0]; - find_minmax(in.numbers, min, max); + find_minmax(numbers, min, max); - double bin_size = (max - min) / in.bin_count; + double bin_size = (max - min) / bin_count; for (size_t i = 0; i < in.number.size(); i++) { bool found = false; @@ -67,7 +68,10 @@ int main(){ bins[in.bin_count - 1]++; } } + return bins; +} +void show_histogram_text(const vector<size_t> &bins){ size_t maxbin = bins[0]; for (size_t i=1; i < in.bin_count; i++){ if (maxbin < bins[i]){ @@ -98,3 +102,11 @@ int main(){ return 0; } } + +int main(){ + Input in = input_data(); + + auto bins = make_histogram(in.numbers, in.bin_count); + + show_histogram_text(bins); +}