|  |  | @ -5,12 +5,14 @@ using namespace std; | 
			
		
	
		
		
			
				
					
					|  |  |  | struct Input { |  |  |  | struct Input { | 
			
		
	
		
		
			
				
					
					|  |  |  |     vector<double> numbers; |  |  |  |     vector<double> numbers; | 
			
		
	
		
		
			
				
					
					|  |  |  |     size_t bin_count{}; |  |  |  |     size_t bin_count{}; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | Input |  |  |  | Input | 
			
		
	
		
		
			
				
					
					|  |  |  | input_data(){ |  |  |  | input_data(){ | 
			
		
	
		
		
			
				
					
					|  |  |  |     Input in; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     size_t number_count; |  |  |  |     size_t number_count; | 
			
		
	
		
		
			
				
					
					|  |  |  |     cin >> number_count; |  |  |  |     cin >> number_count; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     Input in; | 
			
		
	
		
		
			
				
					
					|  |  |  |     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++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             cin >> in.numbers[i]; |  |  |  |             cin >> in.numbers[i]; | 
			
		
	
	
		
		
			
				
					|  |  | @ -18,7 +20,7 @@ in.numbers.resize(number_count); | 
			
		
	
		
		
			
				
					
					|  |  |  |     cin >> in.bin_count; |  |  |  |     cin >> in.bin_count; | 
			
		
	
		
		
			
				
					
					|  |  |  | return in; |  |  |  | return in; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |     void find_minmax(vector<double> numbers, double min, double max) { |  |  |  |     void find_minmax(vector<double> numbers, double& min, double& max) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     min = numbers[0]; |  |  |  |     min = numbers[0]; | 
			
		
	
		
		
			
				
					
					|  |  |  |     max = numbers[0]; |  |  |  |     max = numbers[0]; | 
			
		
	
		
		
			
				
					
					|  |  |  |     for (double x : numbers) { |  |  |  |     for (double x : numbers) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -34,24 +36,27 @@ return in; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | int main() |  |  |  | int main() | 
			
		
	
		
		
			
				
					
					|  |  |  | {   Input in = input_data(); |  |  |  | {   Input in = input_data(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     double bin_size = (max - min) / bin_count; |  |  |  |     double max,min; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         vector<size_t> bins(bin_count); |  |  |  |     find_minmax(in.numbers,min,max); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     for (size_t i = 0; i < number_count; i++) { |  |  |  |     double bin_size = (max - min) / in.bin_count; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         vector<size_t> bins(in.bin_count); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for(double x:in.numbers) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |      { | 
			
		
	
		
		
			
				
					
					|  |  |  |         bool found = false; |  |  |  |         bool found = false; | 
			
		
	
		
		
			
				
					
					|  |  |  |     for (size_t j = 0; (j < bin_count - 1) && !found; j++) { |  |  |  |     for (size_t j = 0; (j < in.bin_count - 1) && !found; j++) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         auto lo = min + j * bin_size; |  |  |  |         auto lo = min + j * bin_size; | 
			
		
	
		
		
			
				
					
					|  |  |  |         auto hi = min + (j + 1) * bin_size; |  |  |  |         auto hi = min + (j + 1) * bin_size; | 
			
		
	
		
		
			
				
					
					|  |  |  |         if ((lo <= numbers[i]) && (numbers[i] < hi)) { |  |  |  |         if ((lo <= x) && (x < hi)) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             bins[j]++; |  |  |  |             bins[j]++; | 
			
		
	
		
		
			
				
					
					|  |  |  |             found = true; |  |  |  |             found = true; | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (!found) |  |  |  |     if (!found) | 
			
		
	
		
		
			
				
					
					|  |  |  |         bins[bin_count-1]++; |  |  |  |         bins[in.bin_count-1]++; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     for(size_t i=0;i<bin_count;i++){ |  |  |  |     for(size_t i=0;i<in.bin_count;i++){ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         cout<<bins[i]<<"|"; |  |  |  |         cout<<bins[i]<<"|"; | 
			
		
	
		
		
			
				
					
					|  |  |  |         for(size_t j=0;j<=i;j++) |  |  |  |         for(size_t j=0;j<bins[i];j++) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             cout<<"*"; |  |  |  |             cout<<"*"; | 
			
		
	
		
		
			
				
					
					|  |  |  |         cout<<endl;} |  |  |  |         cout<<endl;} | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |