From 843707a695cdf402d659f8726e82ea0f18f99c29 Mon Sep 17 00:00:00 2001 From: "Alexey (MinovAS)" Date: Mon, 5 Jun 2023 14:12:25 +0300 Subject: [PATCH] code:svg variant15 --- lab_3.xcodeproj/project.pbxproj | 6 ++ .../UserInterfaceState.xcuserstate | Bin 23761 -> 110217 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ main.cpp | 7 +- svg.cpp | 76 ++++++++++++++++++ svg.hpp | 9 +++ .../UserInterfaceState.xcuserstate | Bin 17430 -> 17412 bytes 7 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 lab_3.xcodeproj/xcuserdata/lesaminov.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 svg.cpp create mode 100644 svg.hpp diff --git a/lab_3.xcodeproj/project.pbxproj b/lab_3.xcodeproj/project.pbxproj index cd50b2f..881468f 100644 --- a/lab_3.xcodeproj/project.pbxproj +++ b/lab_3.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ 35EA3A982A2D54F400ED69F1 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EA3A972A2D54F400ED69F1 /* main.cpp */; }; 35EA3AA02A2D58E700ED69F1 /* histogram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EA3A9E2A2D58E700ED69F1 /* histogram.cpp */; }; 35EA3AA32A2D591600ED69F1 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EA3AA12A2D591600ED69F1 /* text.cpp */; }; + 35EA3ADA2A2D6B2100ED69F1 /* svg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EA3AD82A2D6B2100ED69F1 /* svg.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -32,6 +33,8 @@ 35EA3AA12A2D591600ED69F1 /* text.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = ""; }; 35EA3AA22A2D591600ED69F1 /* text.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = text.hpp; sourceTree = ""; }; 35EA3AA92A2D5D8400ED69F1 /* histogram_internal.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = histogram_internal.hpp; sourceTree = ""; }; + 35EA3AD82A2D6B2100ED69F1 /* svg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = svg.cpp; sourceTree = ""; }; + 35EA3AD92A2D6B2100ED69F1 /* svg.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = svg.hpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +52,8 @@ isa = PBXGroup; children = ( 35EA3A972A2D54F400ED69F1 /* main.cpp */, + 35EA3AD82A2D6B2100ED69F1 /* svg.cpp */, + 35EA3AD92A2D6B2100ED69F1 /* svg.hpp */, 35EA3AA12A2D591600ED69F1 /* text.cpp */, 35EA3AA22A2D591600ED69F1 /* text.hpp */, 35EA3A9E2A2D58E700ED69F1 /* histogram.cpp */, @@ -123,6 +128,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 35EA3ADA2A2D6B2100ED69F1 /* svg.cpp in Sources */, 35EA3AA02A2D58E700ED69F1 /* histogram.cpp in Sources */, 35EA3A982A2D54F400ED69F1 /* main.cpp in Sources */, 35EA3AA32A2D591600ED69F1 /* text.cpp in Sources */, diff --git a/lab_3.xcodeproj/project.xcworkspace/xcuserdata/lesaminov.xcuserdatad/UserInterfaceState.xcuserstate b/lab_3.xcodeproj/project.xcworkspace/xcuserdata/lesaminov.xcuserdatad/UserInterfaceState.xcuserstate index 9e907e151f35732bfeb99a7a94a5c0d6e908231c..91dde2cfb475e4a3070825f1650105a729449889 100644 GIT binary patch literal 110217 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 h<2Z@)aQDYe?n8|{|_>vCMy5{ literal 23761 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 + + diff --git a/main.cpp b/main.cpp index 742aae6..15e45ed 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,7 @@ #include #include "histogram.hpp" #include "text.hpp" +#include "svg.hpp" using namespace std; @@ -15,7 +16,7 @@ struct Input Input input_data() { size_t number_count; - cerr << "Enter number count: "; + cout << "Enter number count: "; cin >> number_count; // Кол-во чисел Input in; in.numbers.resize(number_count); @@ -23,7 +24,7 @@ Input input_data() { cin >> in.numbers[i]; } - cerr << "Enter bin count: "; + cout << "Enter bin count: "; cin >> in.bin_count; return in; } @@ -32,6 +33,6 @@ int main() { auto in = input_data(); auto bins = make_histogram(in.numbers, in.bin_count); - show_histogram_text(bins, in.bin_count); + show_histogram_svg(bins); return 0; } diff --git a/svg.cpp b/svg.cpp new file mode 100644 index 0000000..9761ad3 --- /dev/null +++ b/svg.cpp @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include "svg.hpp" +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 << "& 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; + const auto BOARD_COLOR = "black"; + const auto FILL_COLOR = "red"; + const auto MAX_WIDTH = IMAGE_WIDTH-TEXT_WIDTH; + + + svg_begin(IMAGE_WIDTH,IMAGE_HEIGHT); + + double top = 0; + double max_count = bins[0]; + for (size_t i = 0; i < bins.size(); i++) + { + if (max_count "; + top += BIN_HEIGHT; + } + + svg_end(); + } diff --git a/svg.hpp b/svg.hpp new file mode 100644 index 0000000..91d53ba --- /dev/null +++ b/svg.hpp @@ -0,0 +1,9 @@ +#ifndef SVG_H_INCLUDED +#define SVG_H_INCLUDED +#include + +void +show_histogram_svg(const std::vector& bins); + + +#endif // SVG_H_INCLUDED diff --git a/unittest/unittest.xcodeproj/project.xcworkspace/xcuserdata/lesaminov.xcuserdatad/UserInterfaceState.xcuserstate b/unittest/unittest.xcodeproj/project.xcworkspace/xcuserdata/lesaminov.xcuserdatad/UserInterfaceState.xcuserstate index 4b81c84fcf13454e48ee120e2662eccc76586ae1..11cf15abda1ca249230d65316788426ad19dc9f0 100644 GIT binary patch delta 4838 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 O8}BQSeoO5NMgIY=c^>@$ delta 4889 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