code: добавлена проверка на пустой вектор

main
Krivobokov Nikolay 2 недель назад
Родитель f3f0af204d
Сommit fc952b80bc

@ -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;
} }

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