From 7649545ed5ada6d969e3b0159c9302a02dce73ee Mon Sep 17 00:00:00 2001 From: "Ivan (BeloziorovIA)" Date: Mon, 28 Apr 2025 15:04:25 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B3=D0=B8=D1=81=D1=82=D0=BE=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 50 +++++++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/main.cpp b/main.cpp index fef940c..93b25ec 100644 --- a/main.cpp +++ b/main.cpp @@ -47,7 +47,7 @@ void find_minmax(const vector& numbers, double& Min, double& Max){ } //Функция расчёта гистограммы -vector make_histogram(vector Numbers, size_t bin_count){ +vector make_histogram(const vector& Numbers, size_t bin_count){ //Определение шага между корзинами double Max, Min; find_minmax(Numbers, Min, Max); @@ -67,36 +67,12 @@ vector make_histogram(vector Numbers, size_t bin_count){ return bins; } -int main() { +//Функция отображения и масштабирования гистограммы +void show_histogram_text(const vector& bins){ const size_t SCREEN_WIDTH = 80; const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 3; - //Ввод массива и количества корзин - Input in = input_data(); - - //Определение минимума и максимума - double max, min; - find_minmax(in.Numbers, min, max); - - // - vector bins = make_histogram(in.Numbers, in.bin_count); - - /* - //Определение шага между корзинами - double bin_size = (max - min) / bin_count; - //Массив корзин - vector bins(bin_count); - for (size_t i = 0; i < bin_count; i++) // обнуление корзин - bins[i] = 0; - for (size_t i = 0; i < bin_count; i++) { - double lo = min + i * bin_size; - double hi = min + (i + 1) * bin_size; - for (size_t j = 0; j < number_count; j++) { - if (lo <= Numbers[j] && Numbers[j] <= hi) - bins[i]++; - } - } - //Проверка необходимости масшатбирования + //Проверка необходимости масшатбирования size_t max4scale = 0; for (size_t x : bins){ if (x > max4scale){ @@ -140,6 +116,22 @@ int main() { cout << "\n"; } } - */ + return; +} + +int main() { + //Ввод массива и количества корзин + Input in = input_data(); + + //Определение минимума и максимума + double max, min; + find_minmax(in.Numbers, min, max); + + //Создание вектора bins для гистограммы + vector bins = make_histogram(in.Numbers, in.bin_count); + + // + show_histogram_text(bins); + return 0; }