diff --git a/lab01.cbp b/lab01.cbp
index fb64a0d..cc05dde 100644
--- a/lab01.cbp
+++ b/lab01.cbp
@@ -33,7 +33,11 @@
+
+
+
+
diff --git a/main.cpp b/main.cpp
index 8762af1..86daa90 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,159 +1,10 @@
-#include
-#include
-
-using namespace std;
-
-struct Input {
- vector numbers;
- size_t bin_count{};
-};
-
-Input
-input_data() {
- size_t number_count, bin_count;
- double minl, maxl, bin_size;
-
-
- cerr << "Enter the number of elements: ";
- cin >> number_count;
-
- Input in;
- in.numbers.resize(number_count);
-
- vector numbers(number_count);
-
- cerr << "\nEnter " << number_count << " elements:" << endl;
- for (size_t i = 0; i < number_count; i++) {
- cin >> in.numbers[i];
- }
-
-
- cerr << "Enter the number of bins: ";
- cin >> in.bin_count;
-
- return in;
-}
-
-void
-find_minmax(const vector& numbers, double& minl, double& maxl) {
- minl = numbers[0];
- maxl = numbers[0];
-
- for (double x : numbers) {
- if (x < minl) {
- minl = x;
- } else {
- if (x > maxl) {
- maxl = x;
- }
- }
- }
-}
-
-vector
-make_histogram(const vector& numbers, size_t& bin_count) {
- double minn, maxn;
- find_minmax(numbers, minn, maxn);
-
- double bin_size = (maxn - minn) / bin_count;
-
- vector bins(bin_count, 0);
-
- 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 = minn + j * bin_size;
- auto hi = minn + (j + 1) * bin_size;
- if ((numbers[i] >= lo) && (numbers[i] <= hi)) {
- bins[j]++;
- found = true;
- }
- }
- if (!found) {
- bins[bin_count - 1]++;
- }
- }
- return bins;
-}
-
-void
-show_histogram_text(const vector bins, size_t bin_count) {
- size_t max_count = bins[0];
- for (size_t i = 1; i < bin_count; i++) {
- if (bins[i] > max_count) {
- max_count = bins[i];
- }
- }
-
- const size_t SCREEN_WIDTH = 80;
- const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
-
-
- short space_count;
-
- cerr << "\nHistogram:" << endl;
-
- if (max_count <= MAX_ASTERISK) {
- for (size_t i = 0; i < bin_count; i++) {
- if (bins[i] < 10) {
- space_count = 2;
- } else if (bins[i] >= 10 && bins[i] < 100) {
- space_count = 1;
- } else if (bins[i] >= 100 && bins[i] < 1000) {
- space_count = 0;
- }
-
-
-
- for (size_t k = 0; k < space_count; k++) {
- cout << " ";
- }
-
- cout << bins[i];
-
- cout << "|";
-
-
- for (size_t j = 0; j < bins[i]; j++) {
- cout << "*";
- }
-
- cout << "\n";
- }
- } else {
- for (size_t i = 0; i < bin_count; i++) {
- if (bins[i] < 10) {
- space_count = 2;
- } else if (bins[i] >= 10 && bins[i] < 100) {
- space_count = 1;
- } else if (bins[i] >= 100 && bins[i] < 1000) {
- space_count = 0;
- }
-
-
- for (size_t k = 0; k < space_count; k++) {
- cout << " ";
- }
-
- cout << bins[i];
-
- cout << "|";
-
- size_t height = static_cast(MAX_ASTERISK * (static_cast(bins[i]) / max_count));
- for (size_t j = 0; j < height; j++) {
- cout << "*";
- }
-
- cout << "\n";
- }
- }
-}
+#include "Header.h"
+#include "text.h"
int main() {
auto in = input_data();
- auto bins = make_histogram(in.numbers, in.bin_count);
- show_histogram_text(bins, in.bin_count);
+ auto bins = make_histogram(in.korz, in.vec);
+ show_histogram(bins);
- return 0;
}