48 строки
997 B
C++
48 строки
997 B
C++
#include <math.h>
|
|
#include <iostream>
|
|
#include <conio.h>
|
|
#include <vector>
|
|
#include "histogram.h"
|
|
#include "text.h"
|
|
#include "svg.h"
|
|
#include "histogram_internal.h"
|
|
using namespace std;
|
|
|
|
struct Input {
|
|
vector<double> numbers;
|
|
size_t bin_count{};
|
|
size_t interval;
|
|
};
|
|
|
|
Input
|
|
input_data(istream &tin){
|
|
cerr << "Input numbers count: ";
|
|
size_t number_count;
|
|
tin >> number_count;
|
|
Input in;
|
|
in.numbers.resize(number_count);
|
|
cerr << "Input numbers: ";
|
|
for (size_t i = 0; i < number_count; i++) {
|
|
tin >> in.numbers[i];
|
|
}
|
|
cerr << "Input bin count: ";
|
|
tin >> in.bin_count;
|
|
return in;
|
|
}
|
|
|
|
|
|
int main() {
|
|
Input in = input_data(cin);
|
|
auto bins = make_histogramm(in.numbers, in.bin_count);
|
|
size_t interval;
|
|
cerr << "Input interval: "; cin >> interval;
|
|
bool inRange;
|
|
inRange = check_interval(interval);
|
|
if (!inRange){
|
|
cerr << "ERROR";
|
|
return 0;
|
|
}
|
|
show_histogram_svg(bins, interval);
|
|
return 0;
|
|
}
|