code: пункт 5(функция find_minmax перестала быть статичной)

main
BezhenarAN 1 год назад
Родитель 33c59ab153
Сommit 2975364ca6

@ -1,7 +1,7 @@
#include "histogram.h" #include "histogram.h"
#include <vector> #include <vector>
static void find_minmax(const std::vector <double> &numbers, double &min, double &max){ void find_minmax(const std::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 ){
@ -13,15 +13,15 @@ static void find_minmax(const std::vector <double> &numbers, double &min, double
} }
} }
std::vector<std::size_t> make_histogram(const std::vector<double> &numbers, size_t bin_count) { std::vector<std::size_t> make_histogram(const std::vector<double> &numbers, std::size_t bin_count) {
double min = numbers[0]; double min = numbers[0];
double max = numbers[0]; double max = numbers[0];
find_minmax(numbers, min, max); find_minmax(numbers, min, max);
double bin_size = ( max - min ) / bin_count; double bin_size = ( max - min ) / bin_count;
std::vector<std::size_t> bins ( bin_count ); std::vector<std::size_t> bins ( bin_count );
for (size_t i=0; i < numbers.size(); i++ ){ for (std::size_t i=0; i < numbers.size(); i++ ){
bool found = false; bool found = false;
for (size_t j = 0; ( j < bin_count - 1 ) && !found; j++ ){ for (std::size_t j = 0; ( j < 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 <= numbers[i] && ( numbers[i] < hi )){

Загрузка…
Отмена
Сохранить