#include #include "histogram.h" #include "text.h" #include "svg.h" #include #include #include using namespace std; struct Input { vector vec; size_t korz{}; }; Input input_data(istream& in, bool promt = false) { Input lin; size_t number_count; if( promt ) { cerr << "Enter number count: "; } in >> number_count; lin.vec.resize(number_count); for (size_t i = 0 ; i < number_count ; i++) { in >> lin.vec[i]; } if( promt ) { cerr << "Enter bin count: "; } in >> lin.korz; return lin; } int main(int argc, char* argv[]) { curl_global_init(CURL_GLOBAL_ALL); auto in = input_data(cin); auto bins = make_histogram(in.korz, in.vec); show_histogram_svg(bins); } //Получение аргументов команды. Суть в том, что каждый аргумент (поток символов) имеет свой порядковый номер. //Чтобы программа молга воспринимать аргументы и команды так, как надо, аргументы, как и слова в любом языке, разделяются пробелами. //В нашем случае программа показывает, какой порядковый номер имеет каждое слово с помощью пробелов. //Для NUL ничего не выведется так как мы вывели итоговый поток в никуда. /* C:\Users\Natasha\Desktop\Проги С2\cs-lab34\bin\Debug>cs-lab34.exe -x --y /z w argc = 5 argv[0] = cs-lab34.exe argv[1] = -x argv[2] = --y argv[3] = /z argv[4] = w C:\Users\Natasha\Desktop\Проги С2\cs-lab34\bin\Debug>cs-lab34.exe param "with spaces" argc = 3 argv[0] = cs-lab34.exe argv[1] = param argv[2] = with spaces C:\Users\Natasha\Desktop\Проги С2\cs-lab34\bin\Debug>cs-lab34.exe param NUL */