diff --git a/labor01.cpp b/labor01.cpp index 100024c..1fee2bc 100644 --- a/labor01.cpp +++ b/labor01.cpp @@ -1,7 +1,7 @@ #include #include -#include #include "histogram.h" +#include "text.h" using namespace std; @@ -28,34 +28,7 @@ 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 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 +#include +#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 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 + +void +show_histogram_text(const std::vector& bins, size_t& bin_count); + +#endif // HISTOGRAM_H_INCLUDED \ No newline at end of file