From 9e7448e9eda67721610f569b6b42bfab67546bd1 Mon Sep 17 00:00:00 2001
From: MelnikovDM <dimooondimon15@gmail.com>
Date: Tue, 7 May 2024 01:33:29 +0300
Subject: [PATCH] build: Histogram output separately

---
 labor01.cpp | 31 ++-----------------------------
 text.cpp    | 35 +++++++++++++++++++++++++++++++++++
 text.h      |  9 +++++++++
 3 files changed, 46 insertions(+), 29 deletions(-)
 create mode 100644 text.cpp
 create mode 100644 text.h

diff --git a/labor01.cpp b/labor01.cpp
index 100024c..1fee2bc 100644
--- a/labor01.cpp
+++ b/labor01.cpp
@@ -1,7 +1,7 @@
 #include <iostream>
 #include <vector>
-#include <algorithm>
 #include "histogram.h"
+#include "text.h"
 
 
 using namespace std;
@@ -28,34 +28,7 @@ input_data() {
     return in;
 }
 
-void
-show_histogram_text(const vector<size_t>& bins, size_t& bin_count) {
-    const size_t SCREEN_WIDTH = 80;
-    const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
-    size_t max_count = 0;
-    for (size_t i = 0; i < bin_count; i++) {
-        if (bins[i] > max_count) {
-            max_count = bins[i];
-        }
-    }
-    double kof = double(MAX_ASTERISK) / max_count;
-    if (kof > 1) {
-        kof = 1;
-    }
-    for (size_t bin : bins) {
-        if (bin < 100) {
-            cout << " ";
-        }
-        if (bin < 10) {
-            cout << " ";
-        }
-        cout << bin << "|";
-        for (size_t i = 0; i < size_t(bin * kof); i++) {
-            cout << "*";
-        }
-        cout << endl;
-    }
-}
+
 
 int main() {
     auto in = input_data();
diff --git a/text.cpp b/text.cpp
new file mode 100644
index 0000000..d17be04
--- /dev/null
+++ b/text.cpp
@@ -0,0 +1,35 @@
+#include "text.h"
+#include <iostream>
+#include <vector>
+#include "histogram.h"
+
+using namespace std;
+
+void
+show_histogram_text(const vector<size_t>& bins, size_t& bin_count) {
+    const size_t SCREEN_WIDTH = 80;
+    const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
+    size_t max_count = 0;
+    for (size_t i = 0; i < bin_count; i++) {
+        if (bins[i] > max_count) {
+            max_count = bins[i];
+        }
+    }
+    double kof = double(MAX_ASTERISK) / max_count;
+    if (kof > 1) {
+        kof = 1;
+    }
+    for (size_t bin : bins) {
+        if (bin < 100) {
+            cout << " ";
+        }
+        if (bin < 10) {
+            cout << " ";
+        }
+        cout << bin << "|";
+        for (size_t i = 0; i < size_t(bin * kof); i++) {
+            cout << "*";
+        }
+        cout << endl;
+    }
+}
\ No newline at end of file
diff --git a/text.h b/text.h
new file mode 100644
index 0000000..777c302
--- /dev/null
+++ b/text.h
@@ -0,0 +1,9 @@
+#ifndef HISTOGRAM_H_INCLUDED
+#define HISTOGRAM_H_INCLUDED
+
+#include <vector>
+
+void
+show_histogram_text(const std::vector<size_t>& bins, size_t& bin_count);
+
+#endif // HISTOGRAM_H_INCLUDED
\ No newline at end of file