Вы не можете выбрать более 25 тем
			Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
		
		
		
		
		
			
		
			
				
	
	
		
			33 строки
		
	
	
		
			756 B
		
	
	
	
		
			C++
		
	
			
		
		
	
	
			33 строки
		
	
	
		
			756 B
		
	
	
	
		
			C++
		
	
#include "histogram.h"
 | 
						|
#include "histogram_internal.h"
 | 
						|
#include <vector>
 | 
						|
#include <cstddef>
 | 
						|
 | 
						|
using namespace std;
 | 
						|
 | 
						|
void find_minmax(const vector<double>& numbers, double& min, double& max) {
 | 
						|
    if (numbers.empty()) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    min = numbers[0];
 | 
						|
    max = numbers[0];
 | 
						|
 | 
						|
    for (double x : numbers) {
 | 
						|
        if (x < min) min = x;
 | 
						|
        if (x > max) max = x;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
vector<size_t> make_histogram(const vector<double>& numbers, size_t bin_count) {
 | 
						|
    double min, max;
 | 
						|
    find_minmax(numbers, min, max);
 | 
						|
 | 
						|
    vector<size_t> bins(bin_count);
 | 
						|
    for (double x : numbers) {
 | 
						|
        size_t bin_index = (x - min) / (max - min) * bin_count;
 | 
						|
        if (bin_index == bin_count) bin_index--;
 | 
						|
        bins[bin_index]++;
 | 
						|
    }
 | 
						|
    return bins;
 | 
						|
}
 |