Родитель
98e7073453
Сommit
e7cebd0f14
@ -0,0 +1,31 @@
|
|||||||
|
#include "histogram.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void FindMinMax(const vector<double>& marks, double& min, double& max) {
|
||||||
|
max = 0;
|
||||||
|
min = marks[0];
|
||||||
|
for (double x : marks) {
|
||||||
|
if (x > max) {
|
||||||
|
max = x;
|
||||||
|
}
|
||||||
|
if (x < min) {
|
||||||
|
min = x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
vector <double> MakeHistogram(const vector<double>& marks, int NCharts) {
|
||||||
|
double interval = 0, i = 0, min = 0, max = 0;
|
||||||
|
vector<double> chart(NCharts);
|
||||||
|
FindMinMax(marks, min, max);
|
||||||
|
interval = (max - min) / NCharts;
|
||||||
|
for (int x : marks) {
|
||||||
|
i = 0;
|
||||||
|
while ((x > min + interval * (i + 1))) {
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
chart[i] += 1;
|
||||||
|
}
|
||||||
|
return chart;
|
||||||
|
};
|
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef HISTOGRAM_H_INCLUDED
|
||||||
|
#define HISTOGRAM_H_INCLUDED
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
std::vector<double> MakeHistogram(const std::vector<double>& marks, int NCharts);
|
||||||
|
|
||||||
|
#endif // HISTOGRAM_H_INCLUDED
|
Загрузка…
Ссылка в новой задаче