// text.cpp #include #include #include "text.h" const size_t SCREEN_WIDTH = 80; const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1; // Определение функции show_histogram_text() void show_histogram_text(const std::vector& bins) { size_t max_count = bins[0]; for (size_t x : bins) { if (x > max_count) { max_count = x; } } if (max_count > MAX_ASTERISK) { for (size_t count : bins) { size_t height = MAX_ASTERISK * (static_cast(count) / max_count); if (count < 10) { std::cout << " " << count << "|"; } else if (count < 100) { std::cout << " " << count << "|"; } else { std::cout << count << "|"; } for (size_t i = 0; i < height; i++) { std::cout << "*"; } std::cout << "\n"; } } else { for (size_t x : bins) { if (x < 10) { std::cout << " " << x << "|"; } else if (x < 100) { std::cout << " " << x << "|"; } else { std::cout << x << "|"; } for (size_t i = 0; i < x; i++) { std::cout << "*"; } std::cout << "\n"; } } }