From df126f8e82d1b3b5589d2efebdfb21f5d6690afa Mon Sep 17 00:00:00 2001 From: "Nikita (PodolskyNK)" Date: Mon, 27 May 2024 13:44:15 +0300 Subject: [PATCH] =?UTF-8?q?code:=20curl=20easy=20init=20=D0=B8=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=B2=D0=BE=D0=B5=D0=B3=D0=BE=20=D0=B2?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=D0=B0=20=D1=81=203=20?= =?UTF-8?q?=D0=BB=D0=B0=D0=B1=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 9 ++++++--- svg.cpp | 53 +++++++++++++++++++++-------------------------------- 2 files changed, 27 insertions(+), 35 deletions(-) diff --git a/main.cpp b/main.cpp index 1064d87..6b7f1f7 100644 --- a/main.cpp +++ b/main.cpp @@ -35,12 +35,15 @@ Input input_data(istream& stream, bool prompt) { int main(int argc, char* argv[]) { if (argc > 1) { - for (int i = 0; i > argc; i++) { - cout << "argv[" << i << "] = " << argv[i]; + CURL *curl = curl_easy_init(); + if(curl) { + CURLcode res; + curl_easy_setopt(curl, CURLOPT_URL, argv[1]); + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); } return 0; } - curl_global_init(CURL_GLOBAL_ALL); Input in = input_data(cin, false); vector bins = make_histogram(in.numbers, in.bin_count); show_histogram_svg(bins); diff --git a/svg.cpp b/svg.cpp index fafe0f0..f0b699d 100644 --- a/svg.cpp +++ b/svg.cpp @@ -4,31 +4,27 @@ #include "svg.h" using namespace std; +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 BLOCK_WIDTH = 10; +const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH; -double ask_width(size_t numbers_count, std::istream& input) { - while (true) { - double width; - cerr << "Write width "; - input >> width; - if (width < 70) { - cout << "Try again. It's too low.\n"; - } else if (width > 800) { - cout << "Try again. It's too high.\n"; - } else if (width < numbers_count * BLOCK_WIDTH / 3) { - cout << "Try again.\n"; - } else { - return width; - } - } +void +svg_text(double left, double baseline, string text) { + cout << "" << text << ""; } -void svg_begin(double width, double height) { +void +svg_rect(double x, double y, double width, double height, string stroke = "black", string fill = "aaaaaa") { + cout << "\n"; +} + +void +svg_begin(double width, double height) { cout << "\n"; cout << "\n"; } -void svg_end() { +void +svg_end() { cout << "\n"; } -void svg_text(double left, double baseline, string text) { - cout << "" << text << "\n"; -} - -void svg_rect(double x, double y, double width, double height, string stroke = "black", string fill = "aaaaaa") { - cout << "\n"; -} - -void show_histogram_svg(const vector& bins) { - const auto IMAGE_WIDTH = ask_width(bins.size(), cin); +void +show_histogram_svg(const vector& bins) { const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH; size_t max_count = 0; - for (size_t count : bins) { - if (count > max_count) { - max_count = count; + for (size_t x : bins) { + if (x > max_count) { + max_count = x; } } if (max_count == 0) { @@ -65,8 +54,7 @@ void show_histogram_svg(const vector& bins) { if (scale_factor > 1) { scale_factor = 1; } - - svg_begin(IMAGE_WIDTH, IMAGE_HEIGHT); + svg_begin(400, 300); double top = 0; for (size_t bin : bins) { double bin_width = BLOCK_WIDTH * bin * scale_factor; @@ -76,3 +64,4 @@ void show_histogram_svg(const vector& bins) { } svg_end(); } +