diff --git a/main.cpp b/main.cpp index e54b511..90eaebe 100644 --- a/main.cpp +++ b/main.cpp @@ -1,71 +1,29 @@ #include #include +#include +#include "histogram.h" using namespace std; -int main(){ -double min,max,lo,hi; -size_t number_count,bin_count,i,j; -const size_t SCREEN_WIDTH = 80; -const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; -cerr<<"Enter number_count: "; -cin>>number_count; -cerr<<"Enter numbers: "; -vector numbers; -for(size_t i=0;i>num; - numbers.push_back(num); -} -cerr<<"Enter bin_count: "; -cin>>bin_count; -vector bins(bin_count); -min=numbers[0]; -max=numbers[0]; -for(i=0;imax){ - max=numbers[i]; - } + +struct Input { + vector numbers; + size_t bin_count{}; +}; + +Input +input_data(istream& in){ +size_t number_count; +in >> number_count; +Input cin; +cin.numbers.resize(number_count); +for (size_t i = 0; i < number_count; i++){ + in >> cin.numbers[i];} +in >> cin.bin_count; +return cin; } -double bin_size=(max-min)/bin_count; -for (size_t i=0;iMAX_ASTERISK){ - max_count=bins[i]; - } + +int main(){ +auto in = input_data(cin); +auto bins = make_histogram(in.numbers, in.bin_count); +show_histogram(bins, in.bin_count); +return 0; } -for(i=0;i(bins[i])/max_count); - for(j=0;j