|  |  |  | @ -3,6 +3,9 @@ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | using namespace std; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | const size_t SCREEN_WIDTH = 80; | 
			
		
	
		
			
				
					|  |  |  |  | const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | struct Input { | 
			
		
	
		
			
				
					|  |  |  |  |     vector<double> numbers; | 
			
		
	
		
			
				
					|  |  |  |  |     size_t bin_count{}; | 
			
		
	
	
		
			
				
					|  |  |  | @ -42,16 +45,14 @@ void find_minmax(const vector<double> &numbers, double &min, double &max){ | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | int main(){ | 
			
		
	
		
			
				
					|  |  |  |  |     Input in = input_data(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     vector<size_t> bins ( in.bin_count ); | 
			
		
	
		
			
				
					|  |  |  |  | vector<size_t> make_histogram(const vector<double> &numbers, size_t bin_count){ | 
			
		
	
		
			
				
					|  |  |  |  |     vector<size_t> bins ( bin_count ); | 
			
		
	
		
			
				
					|  |  |  |  |     double min = in.numbers[0]; | 
			
		
	
		
			
				
					|  |  |  |  |     double max = in.numbers[0]; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     find_minmax(in.numbers, min, max); | 
			
		
	
		
			
				
					|  |  |  |  |     find_minmax(numbers, min, max); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     double bin_size = (max - min) / in.bin_count; | 
			
		
	
		
			
				
					|  |  |  |  |     double bin_size = (max - min) / bin_count; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     for (size_t i = 0; i < in.number.size(); i++) { | 
			
		
	
		
			
				
					|  |  |  |  |         bool found = false; | 
			
		
	
	
		
			
				
					|  |  |  | @ -67,7 +68,10 @@ int main(){ | 
			
		
	
		
			
				
					|  |  |  |  |             bins[in.bin_count - 1]++; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     return bins; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void show_histogram_text(const vector<size_t> &bins){ | 
			
		
	
		
			
				
					|  |  |  |  |     size_t maxbin = bins[0]; | 
			
		
	
		
			
				
					|  |  |  |  |     for (size_t i=1; i < in.bin_count; i++){ | 
			
		
	
		
			
				
					|  |  |  |  |         if (maxbin < bins[i]){ | 
			
		
	
	
		
			
				
					|  |  |  | @ -98,3 +102,11 @@ int main(){ | 
			
		
	
		
			
				
					|  |  |  |  |         return 0; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | int main(){ | 
			
		
	
		
			
				
					|  |  |  |  |     Input in = input_data(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     auto bins = make_histogram(in.numbers, in.bin_count); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     show_histogram_text(bins); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |