diff --git a/main.cpp b/main.cpp index 09e6406..3214831 100644 --- a/main.cpp +++ b/main.cpp @@ -2,23 +2,28 @@ #include using namespace std; -int main() -{ +struct Input { + vector numbers; + size_t bin_count{}; +}; +Input +input_data(){ size_t number_count; - cerr <<"enter number count: "; + cerr << "Number_count: "; cin >> number_count; - - vector numbers(number_count); - for( int i=0; i>numbers[i]; + Input in; + in.numbers.resize(number_count); + for (size_t i = 0; i < number_count; i++) { + cin >> in.numbers[i]; } - size_t bin_count; - cerr <<"enter bin count : "; - cin >> bin_count; - vector bins(bin_count); - double min=numbers[0]; - double max=numbers[0]; + cerr << "Enter bin_count: "; + cin >> in.bin_count; + return in; +} +void +find_minmax(const vector& numbers, double& min, double& max) { + min = numbers[0]; + max = numbers[0]; for(double x : numbers){ if(x +make_histogram(const vector& numbers,size_t bin_count){ + vector bins(bin_count); + double min,max; + find_minmax(numbers,min,max); double bin_size=(max-min)/bin_count; - for(size_t i=0; ibins,size_t bin_count){ size_t Maxbins = 0; for (size_t i = 0; i < bin_count; i++) { @@ -88,5 +103,12 @@ int main() cout << endl; } } +} +int +main() { + auto in = input_data(); + auto bins = make_histogram(in.numbers, in.bin_count); + show_histogram(bins,in.bin_count); return 0; } +