diff --git a/1.cbp b/1.cbp
index 9bafbc2..a5c062d 100644
--- a/1.cbp
+++ b/1.cbp
@@ -32,7 +32,12 @@
+
+
+
+
+
diff --git a/main.cpp b/main.cpp
index 325357d..58b1f10 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,29 +1,11 @@
#include
#include
+#include
+#include
+#include "histogram.h"
+#include "svg.h"
using namespace std;
-
-void
-find_minmax(const vector numbers, double& min, double& max)
-{
- min = numbers[0];
- max = numbers[0];
- size_t number_count = numbers.size();
- for (size_t i = 1; i < number_count; i++)
- {
- if (numbers[i] < min)
- {
- min = numbers[i];
- }
- else if (numbers[i] > max)
- {
- max = numbers[i];
- }
- }
-}
-
-
-
struct Input
{
vector numbers;
@@ -32,31 +14,24 @@ struct Input
-
-
Input
input_data()
{
size_t number_count;
- cin >> number_count;
+ cerr << "Enter number_count "; cin >> number_count;
vector numbers(number_count);
- for (size_t i = 0; i < number_count; i++)
- {
- cin >> numbers[i];
- }
-
- size_t bin_count;
- cin >> bin_count;
-
Input in;
in.numbers.resize(number_count);
-
+ cerr << "Enter numbers ";
for (size_t i = 0; i < number_count; i++)
{
cin >> in.numbers[i];
}
+
+ size_t bin_count;
+ cerr << "Enter bin_count ";
cin >> in.bin_count;
return in;
@@ -64,45 +39,13 @@ input_data()
-vector
-make_histogram(vector numbers, size_t bin_count)
-{
-
- double min, max;
- vector bins(bin_count);
- double bin_size = (max - min) / bin_count;
- find_minmax(numbers, min, max);
- size_t number_count = numbers.size();
-
- for (size_t i = 0; i < number_count; i++)
- {
- bool found = false;
- for (size_t j = 0; (j < bin_count - 1) && !found; j++)
- {
- auto lo = min + j * bin_size;
- auto hi = min + (j + 1) * bin_size;
- if ((lo <= numbers[i]) && (numbers[i] < hi))
- {
- bins[j]++;
- found = true;
- }
- }
- if (!found)
- {
- bins[bin_count - 1]++;
- }
- }
-}
-
-
-
int main()
{
-
auto in = input_data();
auto bins = make_histogram(in.numbers, in.bin_count);
- //show_histogram_text(bins, ...);
+ show_histogram_svg(bins);
+ return 0;
}