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);
+}