до индивидуального

master
ShestovDN 2 лет назад
Родитель c3ce37c2dc
Сommit e43905e635

@ -20,7 +20,7 @@ size_t bin_count{};
}; };
Input Input
input_data(istream &tin, bool promt) input_data(istream &sin, bool promt)
{ {
Input in; Input in;
size_t number_count; size_t number_count;
@ -29,53 +29,65 @@ if (promt)
{ {
cerr << "enter number count"; cerr << "enter number count";
} }
tin>> number_count; sin>> number_count;
in.numbers.resize(number_count); in.numbers.resize(number_count);
for (size_t i = 0; i < number_count; i++) for (size_t i = 0; i < number_count; i++)
{ {
in>> in.numbers[i]; sin>> in.numbers[i];
} }
if (promt) if (promt)
{ {
cerr<<"enter bin count:"; cerr<<"enter bin count:";
} }
in >>in.bin_count; sin >>in.bin_count;
return in; return in;
} }
size_t write_data(void* items, size_t item_size, size_t item_count, void* ctx)
int main(int arg, char* argv[])
{ {
if (arg > 1) size_t data_size = item_size*item_count;
stringstream* buffer = reinterpret_cast<stringstream*>(ctx);
buffer->write(reinterpret_cast<const char*>(items), data_size);
return data_size;
}
Input
download(const string& adress)
{ {
stringstream buffer;
CURL* curl = curl_easy_init(); CURL* curl = curl_easy_init();
if(curl) if(curl)
{ {
CURLcode res; CURLcode res;
curl_easy_setopt(curl,CURLOPT_URL,argv[1]); curl_easy_setopt(curl, CORLOPT_URL, adress);
curl_easy_setopt(curl, CURLOPT_WRITEDATA,&buffer);
res=curl_easy_perform(curl); res=curl_easy_perform(curl);
curl_easy_cleanup(curl); curl_easy_cleanup(curl);
if (res != CURE_OK) if(res!=CURLE_OK)
{ {
cout<<curl_easy_strerror; cout<<curl_easy_strerror;
exit(1); exit(1);
} }
} }
return 0; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
return input_data(buffer, false);
} }
Input in = input_data();
char arr[bin_count]; int main(int arg, char* argv[])
for(int i=0; i<bin_count;i++) {
if (arg > 1)
{
input = download(argv[1]);
}
else
{ {
cin>>arr[i]; input=input_data(cin,true);
} }
auto bins = make_histogram(in.numbers, in.bin_count); auto bins = make_histogram(in.numbers, in.bin_count);
show_histogram_svg(bins); show_histogram_svg(bins);

Загрузка…
Отмена
Сохранить