From 6184143fe33d44d24a1a51681cc7ef4cbaa19e93 Mon Sep 17 00:00:00 2001 From: ShchegolikhYR Date: Fri, 2 May 2025 13:16:48 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D1=89=D0=B8=D1=82=D0=B0=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 8196 bytes Gistogramma.xcodeproj/project.pbxproj | 10 ++ .../UserInterfaceState.xcuserstate | Bin 68564 -> 74157 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 116 +++++++++++++++++- .../xcschemes/xcschememanagement.plist | 8 ++ histogram.cpp | 5 +- histogram_internal.hpp | 2 +- svg.cpp | 9 +- text.cpp | 2 +- unittest.cpp | 9 +- 10 files changed, 148 insertions(+), 13 deletions(-) diff --git a/.DS_Store b/.DS_Store index 810bd47128d1825997a7c21d93326d57dec060c1..66f072b9e579b425bc0bc2a1c1139e057e8d4520 100644 GIT binary patch literal 8196 zcmeHMJ#Q015S?`lwlP5#kdOxHBuXL^h+SAT#uy=5jGzGIoMS6Ka=Eq6Uy&@MYk`uU zKR`jrKjB}{(ZieFO>}3U0i{5Z*o}7H-tN5Fxp!Y0hloUD+`UV*MMQaY#!?X`rSUrV zrIs->*MI_iB99IzAW0$hmb~qRRlq7>6|f3e1*`(+K>>WTx#d@U_w}l^RspNPf2jb! z9~^YXy1_`JdUe345&)RRv}zcm4p1D&VBKJ(QBe_7R}aEag()$Freob0jizT~54Qu>{fvD^``C8^@lPTxn9r<6~XKF;PUE)7j)&cA;&>?sJJb?P(W*! zZp>!8wQc8Ktuo(sX0=LX+o|qW=kr2-0g-LC znhoS>zO73cbFJ;5@1b*JzeuB^z^HN@sLFBR=|2oHcHqjKy1_^zX3*>p0ZImItOEa3 FfnPRVNOAxG delta 135 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{MGjUEV6q~50D9Q?w2aDx1q%#yTBr@bO=HkMssST?$%#-Z6<}d>Q6}A=M diff --git a/Gistogramma.xcodeproj/project.pbxproj b/Gistogramma.xcodeproj/project.pbxproj index 7edc636..c01d126 100644 --- a/Gistogramma.xcodeproj/project.pbxproj +++ b/Gistogramma.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 52D010C52DC397980091060B /* histogram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52D010C42DC397980091060B /* histogram.cpp */; }; 52D010C62DC39F250091060B /* histogram.hpp in Sources */ = {isa = PBXBuildFile; fileRef = 52D010C32DC397980091060B /* histogram.hpp */; }; 52FD91E52DC3AA580037B82C /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FD91E42DC3AA580037B82C /* text.cpp */; }; + 52FD92082DC3CAAB0037B82C /* svg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52FD92072DC3CAAB0037B82C /* svg.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -32,6 +33,10 @@ 52E197562D5F35A1004F8E3E /* Gistogramma */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Gistogramma; sourceTree = BUILT_PRODUCTS_DIR; }; 52FD91E32DC3AA580037B82C /* text.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = text.hpp; sourceTree = ""; }; 52FD91E42DC3AA580037B82C /* text.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = text.cpp; sourceTree = ""; }; + 52FD91F72DC3BE4E0037B82C /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; + 52FD91FA2DC3C02E0037B82C /* histogram_internal.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = histogram_internal.hpp; sourceTree = ""; }; + 52FD92062DC3CAAB0037B82C /* svg.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = svg.hpp; sourceTree = ""; }; + 52FD92072DC3CAAB0037B82C /* svg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = svg.cpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -48,11 +53,15 @@ 52E1974D2D5F35A1004F8E3E = { isa = PBXGroup; children = ( + 52FD91FA2DC3C02E0037B82C /* histogram_internal.hpp */, 52FD91E32DC3AA580037B82C /* text.hpp */, 52FD91E42DC3AA580037B82C /* text.cpp */, 52D010C32DC397980091060B /* histogram.hpp */, 52D010C42DC397980091060B /* histogram.cpp */, + 52FD92062DC3CAAB0037B82C /* svg.hpp */, + 52FD92072DC3CAAB0037B82C /* svg.cpp */, 523FBF7D2DA909BA0044A741 /* main.cpp */, + 52FD91F72DC3BE4E0037B82C /* .gitignore */, 52E197572D5F35A1004F8E3E /* Products */, ); sourceTree = ""; @@ -126,6 +135,7 @@ buildActionMask = 2147483647; files = ( 523FBF7E2DA909BA0044A741 /* main.cpp in Sources */, + 52FD92082DC3CAAB0037B82C /* svg.cpp in Sources */, 52D010C52DC397980091060B /* histogram.cpp in Sources */, 52FD91E52DC3AA580037B82C /* text.cpp in Sources */, 52D010C62DC39F250091060B /* histogram.hpp in Sources */, diff --git a/Gistogramma.xcodeproj/project.xcworkspace/xcuserdata/macbookpro.xcuserdatad/UserInterfaceState.xcuserstate b/Gistogramma.xcodeproj/project.xcworkspace/xcuserdata/macbookpro.xcuserdatad/UserInterfaceState.xcuserstate index 06df49d765b374385f56f15ffa9e5b0eb25edd61..309b219543b740c470c1cfe38c3e8b2910ea5040 100644 GIT binary patch literal 74157 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 literal 68564 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gistogramma.xcodeproj/xcuserdata/macbookpro.xcuserdatad/xcschemes/xcschememanagement.plist b/Gistogramma.xcodeproj/xcuserdata/macbookpro.xcuserdatad/xcschemes/xcschememanagement.plist index f0752e7..5d26295 100644 --- a/Gistogramma.xcodeproj/xcuserdata/macbookpro.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Gistogramma.xcodeproj/xcuserdata/macbookpro.xcuserdatad/xcschemes/xcschememanagement.plist @@ -10,5 +10,13 @@ 0 + SuppressBuildableAutocreation + + 52E197552D5F35A1004F8E3E + + primary + + + diff --git a/histogram.cpp b/histogram.cpp index 4cda481..c337730 100644 --- a/histogram.cpp +++ b/histogram.cpp @@ -3,14 +3,15 @@ using namespace std; -void find_minmax(const vector& numbers, double& minimum, double& maximum){ - if (numbers.size() == 0) return; +bool find_minmax(const vector& numbers, double& minimum, double& maximum){ + if (numbers.size() == 0) return 1; minimum = numbers[0]; maximum = numbers[0]; for (auto i : numbers) { if (i < minimum) minimum = i; if (i > maximum) maximum = i; } + return 0; } vector make_histogram(const vector& numbers, size_t& bin_count) { diff --git a/histogram_internal.hpp b/histogram_internal.hpp index 77a847d..4cfb67a 100644 --- a/histogram_internal.hpp +++ b/histogram_internal.hpp @@ -2,6 +2,6 @@ #define histogram_internal_h #include -void find_minmax(const std::vector& numbers, double& minimum, double& maximum); +bool find_minmax(const std::vector& numbers, double& minimum, double& maximum); #endif /* histogram_internal_h */ diff --git a/svg.cpp b/svg.cpp index ceb521f..5b148ed 100644 --- a/svg.cpp +++ b/svg.cpp @@ -29,9 +29,12 @@ void show_histogram_svg(const vector& bins) { const auto TEXT_WIDTH = 50; const auto BIN_HEIGHT = 30; const auto BLOCK_WIDTH = 10; - const auto MAX_BIN_WIDTH = IMAGE_WIDTH - TEXT_WIDTH; + const auto MAX_BIN_WIDTH = IMAGE_WIDTH - 2.3 * TEXT_WIDTH; auto max_bins = bins[0]; - + size_t sum_bins = 0; + + for (size_t bin : bins) sum_bins += bin; + for (size_t bin : bins) { if (bin > max_bins) max_bins = bin; } @@ -42,8 +45,10 @@ void show_histogram_svg(const vector& bins) { double top = 0; for (size_t bin : bins) { const double bin_width = BLOCK_WIDTH * bin * koef; + size_t percent = bin * 100 / sum_bins; svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); + svg_text((IMAGE_WIDTH - TEXT_WIDTH), top + TEXT_BASELINE, to_string(percent)); top += BIN_HEIGHT; } svg_end(); diff --git a/text.cpp b/text.cpp index 929422d..66b0b8d 100644 --- a/text.cpp +++ b/text.cpp @@ -7,7 +7,7 @@ using namespace std; void show_histogram_text(const vector& baskets) { const size_t screen_width = 80; const size_t max_asterisk = screen_width - 3 - 1; - cout.precision(4); + cout.precision(0); size_t baskets_max_count; baskets_max_count = baskets[0]; diff --git a/unittest.cpp b/unittest.cpp index cbad44d..6b2e4bf 100644 --- a/unittest.cpp +++ b/unittest.cpp @@ -14,11 +14,10 @@ TEST_CASE("distinct positive numbers") { } TEST_CASE("empty vector"){ - double min = NULL; - double max = NULL; - find_minmax({}, min, max); - CHECK(min == NULL); - CHECK(max == NULL); + double min = 0; + double max = 0; + bool check = find_minmax({}, min, max); + CHECK(check == 1); } TEST_CASE("single vector"){