From c79b408a6ef1f4b712dafaaa06125a46f19b12b0 Mon Sep 17 00:00:00 2001
From: KIrsanovEs <KirsanovYs@mpei.ru>
Date: Sat, 22 Apr 2023 16:34:23 +0300
Subject: [PATCH] =?UTF-8?q?code:=20=D0=9A=D0=BE=D0=B4=20=D0=BF=D0=BE=D0=BB?=
 =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20=D1=80=D0=B0=D0=B7=D0=B1?=
 =?UTF-8?q?=D0=B8=D1=82=20=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86?=
 =?UTF-8?q?=D0=B8=D0=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 main.cpp | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/main.cpp b/main.cpp
index 473cf83..2ee71a0 100644
--- a/main.cpp
+++ b/main.cpp
@@ -20,7 +20,7 @@ input_data(){
     cin >> in.bin_count;
 return in;
 }
-    void find_minmax(vector<double> numbers, double& min, double& max) {
+    void find_minmax(const vector<double>& numbers, double& min, double& max) {
     min = numbers[0];
     max = numbers[0];
     for (double x : numbers) {
@@ -32,18 +32,15 @@ return in;
     }
 }
 }
-
-
-int main()
-{   Input in = input_data();
+vector<size_t> make_histogram(const vector<double>& numbers,size_t bin_count){
     double max,min;
-    find_minmax(in.numbers,min,max);
-    double bin_size = (max - min) / in.bin_count;
-        vector<size_t> bins(in.bin_count);
-        for(double x:in.numbers)
+    find_minmax(numbers,min,max);
+    double bin_size = (max - min) / bin_count;
+        vector<size_t> bins(bin_count);
+        for(double x:numbers)
      {
         bool found = false;
-    for (size_t j = 0; (j < in.bin_count - 1) && !found; j++) {
+    for (size_t j = 0; (j < bin_count - 1) && !found; j++) {
         auto lo = min + j * bin_size;
         auto hi = min + (j + 1) * bin_size;
         if ((lo <= x) && (x < hi)) {
@@ -52,12 +49,21 @@ int main()
         }
     }
     if (!found)
-        bins[in.bin_count-1]++;
+        bins[bin_count-1]++;
     }
-    for(size_t i=0;i<in.bin_count;i++){
+    return bins;
+}
+void show_histogram(vector<size_t> bins,size_t bin_count){
+    for(size_t i=0;i<bin_count;i++){
         cout<<bins[i]<<"|";
         for(size_t j=0;j<bins[i];j++)
             cout<<"*";
         cout<<endl;}
 }
+int main()
+{   auto in = input_data();
+    auto bins=make_histogram(in.numbers,in.bin_count);
+    show_histogram(bins,in.bin_count);
+
+}