Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
46 строки
972 B
C++
46 строки
972 B
C++
#include "histogram.h"
|
|
#include "text.h"
|
|
#include "svg.h"
|
|
|
|
struct Input {
|
|
vector<double> vec;
|
|
size_t korz{};
|
|
size_t block_width{};
|
|
};
|
|
|
|
Input input_data() {
|
|
Input in;
|
|
size_t n, korz;
|
|
|
|
cerr << "Number of elements: ";
|
|
cin >> n;
|
|
in.vec.resize(n);
|
|
cerr << "Elements: ";
|
|
for (size_t i = 0; i < n; i++)
|
|
cin >> in.vec[i];
|
|
cerr << "Enter bin count: ";
|
|
cin >> in.korz;
|
|
|
|
|
|
cerr << "Enter block width in px (3-30): ";
|
|
cin >> in.block_width;
|
|
|
|
while (in.block_width < 3 || in.block_width > 30) {
|
|
if (in.block_width < 3) {
|
|
cerr << "Block width too small! Minimum is 3px. Please enter again: ";
|
|
} else {
|
|
cerr << "Block width too large! Maximum is 30px. Please enter again: ";
|
|
}
|
|
cin >> in.block_width;
|
|
}
|
|
|
|
return in;
|
|
}
|
|
|
|
|
|
int main() {
|
|
auto in = input_data();
|
|
auto bins = make_histogram(in.korz, in.vec);
|
|
show_histogram_svg(bins, in.block_width);
|
|
}
|