From 8a83bc158797804c377fec2c31a0fa494eca9423 Mon Sep 17 00:00:00 2001 From: GoloshchapovDY Date: Wed, 24 Apr 2024 14:31:23 +0300 Subject: [PATCH] =?UTF-8?q?code:=D1=82=D0=B5=D0=BA=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 text.cpp diff --git a/text.cpp b/text.cpp new file mode 100644 index 0000000..1ca3e67 --- /dev/null +++ b/text.cpp @@ -0,0 +1,45 @@ +#include +#include +#include "text.h" + +const std::size_t SCREEN_WIDTH = 80; +const std::size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1; + +void show_histogram_text(const std::vector &bins){ + std::size_t maxbin = bins[0]; + for (std::size_t i=1; i < bins.size(); i++){ + if (maxbin < bins[i]){ + maxbin = bins[i]; + } + } + if (maxbin <= MAX_ASTERISK){ + for (size_t i=0; i < bins.size(); i++ ){ + if (bins[i] < 10 ){ + std::cout << " " << bins[i] << "|"; + } else if (bins[i] < 100) { + std::cout << " " << bins[i] << "|"; + } else if (bins[i] < 1000) { + std::cout << bins[i] << "|"; + } + for (size_t j=0; j < bins[i]; j++ ){ + std::cout << "*"; + } + std::cout << std::endl; + } + } else { + for (std::size_t i=0; i < bins.size(); i++){ + std::size_t heightG= MAX_ASTERISK * (static_cast(bins[i]) / maxbin); + if (bins[i] < 10 ){ + std::cout << " " << bins[i] << "|"; + } else if (bins[i] < 100) { + std::cout << " " << bins[i] << "|"; + } else if (bins[i] < 1000) { + std::cout << bins[i] << "|"; + } + for (std::size_t j=0; j < heightG; j++ ){ + std::cout << "*"; + } + std::cout << std::endl; + } + } +}