diff --git a/lab01.cbp b/lab01.cbp
index d541ad7..ce2ffa6 100644
--- a/lab01.cbp
+++ b/lab01.cbp
@@ -32,7 +32,11 @@
+
+
+
+
diff --git a/main.cpp b/main.cpp
index c3bc083..7e33fab 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,6 +1,7 @@
#include
#include
#include "histogram.h"
+#include "text.h"
using namespace std;
@@ -27,46 +28,6 @@ input_data()
return in;
}
-void
-show_histogram_text(const vector& 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 s = 0; s < bin_count; s++)
- {
- if (bins[s] > max_count)
- {
- max_count = bins[s];
- }
- }
- for (size_t bin : bins)
- {
- if (bin <100)
- {
- cout << " ";
- }
- if (bin <10)
- {
- cout << " ";
- }
- cout << bin << "|";
- if (max_count > MAX_ASTERISK)
- {
- size_t count = bin;
- size_t height = MAX_ASTERISK * (static_cast(count) / max_count);
- for (size_t t = 0; t < height; t++)
- {
- cout << "*";
- }
- }
- else for (size_t k = 0; k < bin; k++)
- {
- cout << "*";
- }
- cout << endl;
- }
-}
-
int main()
{
Input in = input_data();
diff --git a/text.cpp b/text.cpp
new file mode 100644
index 0000000..ec26043
--- /dev/null
+++ b/text.cpp
@@ -0,0 +1,42 @@
+#include
+#include "text.h"
+#include "histogram.h"
+
+using namespace std;
+
+void
+show_histogram_text(const vector& 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 s = 0; s < bin_count; s++)
+ {
+ if (bins[s] > max_count)
+ {
+ max_count = bins[s];
+ }
+ }
+ auto kof = static_cast(MAX_ASTERISK) / max_count;
+ if (kof > 1)
+ {
+ kof = 1;
+ }
+ for (size_t bin : bins)
+ {
+ if (bin <100)
+ {
+ cout << " ";
+ }
+ if (bin <10)
+ {
+ cout << " ";
+ }
+ cout << bin << "|";
+ size_t weight = bin * kof;
+ for (size_t t = 0; t < weight; t++)
+ {
+ cout << "*";
+ }
+ cout << endl;
+ }
+}
diff --git a/text.h b/text.h
new file mode 100644
index 0000000..5733dff
--- /dev/null
+++ b/text.h
@@ -0,0 +1,7 @@
+#ifndef TEXT_H_INCLUDED
+#define TEXT_H_INCLUDED
+
+void
+show_histogram_text(const std::vector& bins, size_t& bin_count);
+
+#endif // TEXT_H_INCLUDED