#include <cstdio> #include <cstdlib> #include <iostream> #include <vector> #include <cmath> #include "histogram.h" #include "text.h" #include "svg.h" #include <curl/curl.h> using namespace std; //Ñîçäàíèå ñòðóêòóðû Input äëÿ âõîäíûõ äàííûõ struct Input { vector<double> Numbers; size_t bin_count{}; }; //Ôóíêöèÿ ââîäà Input input_data(istream& in, bool prompt) { size_t number_count; Input stct; //Ââîä êîëè÷åñòâà ýëåìåíòîâ ìàññèâà if (prompt) { cerr << "Enter number count "; } in >> number_count; //Ââîä ìàññèâà vector<double> Numbers(number_count); stct.Numbers.resize(number_count); if (prompt) { cerr << "Enter array:\n"; } in >> stct.Numbers[0]; for (int i = 1; i < number_count; i++) { in >> stct.Numbers[i]; } //Ââîä êîëè÷åñòâà êîðçèí if (prompt) { cerr << "Enter bin count\n"; } in >> stct.bin_count; //Âîçâðàùàåì ñòðóêòóðó return stct; } int main(int argc, char* argv[]) { curl_global_init(CURL_GLOBAL_ALL); if (argc > 1){ for (int i = 0; i < argc; i++){ cout << "argv[" << i << "] = " << argv[i]; } return 0; } //Ââîä ìàññèâà è êîëè÷åñòâà êîðçèí auto in = input_data(cin, true); //Ñîçäàíèå âåêòîðà bins äëÿ ãèñòîãðàììû vector<size_t> bins = make_histogram(in.Numbers, in.bin_count); //Âûâîä ãèñòîãðàììû show_histogram_svg(bins); //show_histogram_text(bins); return 0; }