From 2eb0146779ed09bb73abcba47f662bad81771f61 Mon Sep 17 00:00:00 2001 From: KhnytchenkovAM Date: Mon, 24 Apr 2023 00:25:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D1=81=20?= =?UTF-8?q?=D0=B8=D0=BD=D0=B4=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab01.cbp | 6 +++++ main.cpp | 3 ++- svg.cpp | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ svg.h | 8 +++++++ unittest.cbp | 9 ++++++++ 5 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 svg.cpp create mode 100644 svg.h diff --git a/lab01.cbp b/lab01.cbp index fb64a0d..2e91d36 100644 --- a/lab01.cbp +++ b/lab01.cbp @@ -33,7 +33,13 @@ + + + + + + diff --git a/main.cpp b/main.cpp index 1ab29a9..1fe3678 100644 --- a/main.cpp +++ b/main.cpp @@ -2,6 +2,7 @@ #include #include "histogram.h" #include "text.h" +#include "svg.h" using namespace std; struct Input { @@ -29,6 +30,6 @@ int main(){ size_t max_count; auto in = input_data(); auto bins = make_histogram(in.numbers, in.bin_count); - show_histogram_text(bins,in.bin_count, max_count); + show_histogram_svg(bins); return 0; } diff --git a/svg.cpp b/svg.cpp new file mode 100644 index 0000000..4f25546 --- /dev/null +++ b/svg.cpp @@ -0,0 +1,63 @@ +#include "svg.h" +#include +using namespace std; + +void svg_begin(double width, double height) +{ + cout << "\n"; + cout << "\n"; +} + +void svg_end() +{ + cout << "\n"; +} + +void svg_text(double left, double baseline, string text) +{ + + cout << "" << text << ""; +} + + +void svg_rect(double x, double y, double width, double height, string stroke = "black", string fill = "black") +{ + cout << ""; +} +void show_histogram_svg(const vector &bins){ + + const auto IMAGE_WIDTH = 400; + const auto IMAGE_HEIGHT = 300; + const auto TEXT_LEFT = 20; + const auto TEXT_BASELINE = 20; + const auto TEXT_WIDTH = 50; + const auto BIN_HEIGHT = 30; + + svg_begin(400, 300); + double top = 0; + + size_t max_count = 0; + for (auto bin : bins) + { + if (bin > max_count) + max_count = bin; + } + const auto BLOCK_WIDTH = (IMAGE_WIDTH - TEXT_WIDTH) / max_count; + + for (size_t bin : bins) + { + string color; + cout<< "color"< +#include + +void show_histogram_svg(const std::vector &bins); + +#endif // SVG_H_INCLUDED diff --git a/unittest.cbp b/unittest.cbp index 7f9621b..57af9d9 100644 --- a/unittest.cbp +++ b/unittest.cbp @@ -31,6 +31,15 @@ + + + + + + + +