From 33fb81a6bbbc7d4f4f62ae112f99cfb69af08faa Mon Sep 17 00:00:00 2001 From: KireevYP Date: Sun, 21 Apr 2024 23:22:24 +0300 Subject: [PATCH] =?UTF-8?q?ind:=20=D0=B8=D0=BD=D0=B4=D0=B8=D0=B2=D0=B8?= =?UTF-8?q?=D0=B4=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1st try.cbp | 6 ++++++ svg.cpp | 15 ++++++++++++++- unittest.cbp | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/1st try.cbp b/1st try.cbp index fb679d6..cd26766 100644 --- a/1st try.cbp +++ b/1st try.cbp @@ -32,7 +32,13 @@ + + + + + diff --git a/svg.cpp b/svg.cpp index 2e82799..b6122c9 100644 --- a/svg.cpp +++ b/svg.cpp @@ -41,6 +41,7 @@ show_histogram_svg(const vector& bins) { const auto BLOCK_WIDTH = 10; const auto MAX_WIDTH = (IMAGE_WIDTH - TEXT_WIDTH); + double sum = 0; double max_count = (bins[0] * BLOCK_WIDTH); for (double bin: bins){ if ((bin * BLOCK_WIDTH) > max_count) { @@ -48,12 +49,24 @@ show_histogram_svg(const vector& bins) { } } + for (double bin: bins){ + sum = sum + (MAX_WIDTH * ((BLOCK_WIDTH * bin) / max_count)); + } + + double avg_width = sum/bins.size(); + + svg_begin(400, 300); double top = 0; for (double bin : bins) { const double bin_width = MAX_WIDTH * ((BLOCK_WIDTH * bin) / max_count); svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); - svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "blue", "#aaffaa"); + if (bin_width > avg_width){ + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "black", "#e71320"); + } + else { + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "black", "#2fe713"); + } top += BIN_HEIGHT; } svg_end(); diff --git a/unittest.cbp b/unittest.cbp index 7f9621b..c1d124d 100644 --- a/unittest.cbp +++ b/unittest.cbp @@ -31,6 +31,8 @@ + +