|
|
@ -3,6 +3,12 @@
|
|
|
|
#include "histogram.h"
|
|
|
|
#include "histogram.h"
|
|
|
|
|
|
|
|
|
|
|
|
void find_minmax(const std::vector<double>& numbers, double& min, double& max) { // Ïîèñê ìàêñèìóìà è ìèíèìóìà ñðåäè îöåíîê.
|
|
|
|
void find_minmax(const std::vector<double>& numbers, double& min, double& max) { // Ïîèñê ìàêñèìóìà è ìèíèìóìà ñðåäè îöåíîê.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (numbers.empty()) {
|
|
|
|
|
|
|
|
min=max=0;
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
min=numbers[0];
|
|
|
|
min=numbers[0];
|
|
|
|
max=numbers[0];
|
|
|
|
max=numbers[0];
|
|
|
|
for (double x : numbers) {
|
|
|
|
for (double x : numbers) {
|
|
|
@ -19,13 +25,18 @@ void find_minmax(const std::vector<double>& numbers, double& min, double& max) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<size_t> make_histogram(const std::vector<double>& numbers, size_t bin_count) {
|
|
|
|
std::vector<size_t> make_histogram(const std::vector<double>& numbers, size_t bin_count) {
|
|
|
|
|
|
|
|
std::vector<size_t> bins(bin_count);
|
|
|
|
|
|
|
|
if (numbers.empty() || bin_count == 0) {
|
|
|
|
|
|
|
|
return bins;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double min, max;
|
|
|
|
double min, max;
|
|
|
|
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<size_t> bins(bin_count);
|
|
|
|
|
|
|
|
for (size_t i = 0; i < bin_count; i++) {
|
|
|
|
for (size_t i = 0; i < bin_count; i++) {
|
|
|
|
bins[i] = 0;
|
|
|
|
bins[i] = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|