diff --git a/histogram.cpp b/histogram.cpp
new file mode 100644
index 0000000..beefd28
--- /dev/null
+++ b/histogram.cpp
@@ -0,0 +1,52 @@
+#include <iostream>
+#include <vector>
+#include "histogram.h"
+
+//std::vector<size_t>
+
+void
+find_minmax(const std::vector<double> numbers, double& min, double& max)
+{
+/*/double/*/ min = numbers[0];//����� ��� � ����
+/*/ double/*/ max = numbers[0];
+for (double x : numbers)
+{
+if (x < min)
+{
+min = x;
+}
+else if (x > max)
+{
+max = x;
+}
+}
+}
+std::vector<size_t>
+make_histogram(const std::vector<double> numbers, size_t bin_count)
+{
+std::vector <size_t> bins(bin_count);
+double min, max;
+find_minmax(numbers, min, max);
+double bin_size = (max-min)/bin_count;//������ �������
+
+for (size_t i = 0; i < numbers.size(); 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]++;
+}
+}
+return bins;
+}