diff --git a/labory1.cbp b/labory1.cbp
index b3f4f43..4b7f8c2 100644
--- a/labory1.cbp
+++ b/labory1.cbp
@@ -35,7 +35,14 @@
+
+
+
+
+
+
+
diff --git a/main.cpp b/main.cpp
index 6736725..27533d4 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,6 +1,9 @@
#include
#include
#include
+#include "histogram.h"
+#include "text.h"
+#include "svg.h"
using namespace std;
struct Input{
@@ -29,87 +32,10 @@ input_data()
return in;
}
-void
-find_minmax(const vector& numbers, double &min, double &max)
-{
- min = numbers[0];
- max = numbers[0];
- for (size_t i = 0; i < numbers.size(); i++)
- {
- if (numbers[i] > max)
- max = numbers[i];
- if (numbers[i] < min)
- min = numbers[i];
- }
-}
-
-vector make_histogram (const vector& numbers,size_t &bin_count)
-{
- vector bins(bin_count);
- double low, hi;
- double min, max;
- find_minmax(numbers, min, max);
-
- double bin_size = (max - min) / bin_count;
- low = min;
- hi = low + bin_size;
- for (size_t i = 0; i < numbers.size(); i++)
- {
- bool found = false;
- for (size_t j = 0; (j < bin_count - 1) && !found; j++)
- {
- low = min + j * bin_size;
- hi = min + (j + 1) * bin_size;
- if ((low <= numbers[i]) && (numbers[i] < hi))
- {
- bins[j]++;
- found = true;
- }
- }
- if (found == false)
- {
- bins[bin_count - 1]++;
- }
-
- }
- return bins;
-}
-void show_histogram_text(const vector& bins,size_t &bin_count)
-{
- const size_t SCREEN_WIDTH = 80;
- const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
-
- size_t max_bin = bins[0];
- for (size_t bin : bins)
- if (bin > max_bin)
- max_bin = bin;
- for (size_t bin : bins)
- {
- int height = bin;
- if (max_bin > MAX_ASTERISK)
- {
- height = MAX_ASTERISK * (static_cast(bin) / max_bin);
- }
- if (bin < 100)
- cout << " ";
- if (bin < 10)
- cout << " ";
- cout << bin << "|";
-
- for (size_t i = 0; i < height; i++)
- cout << "*";
- cout << endl;
- }
-}
-
-
int main()
{
Input in = input_data();
- //double bin_count{};
auto bins=make_histogram(in.numbers,in.bin_count);
- //for (int i=0; i