From cd247cf10c60c74f44bc3b4e9660393dcc973d31 Mon Sep 17 00:00:00 2001 From: ShchegolikhYR Date: Fri, 25 Apr 2025 11:51:26 +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=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?min=20=D0=B8=20max?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 66 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/main.cpp b/main.cpp index 9bc057a..fac04ab 100644 --- a/main.cpp +++ b/main.cpp @@ -26,6 +26,17 @@ Input input_data() { return in; } +void find_minmax(const vector& numbers, double& minimum, double& maximum) { + minimum = numbers[0]; + for (int i : numbers) { + if (i < minimum) minimum = i; + } + maximum = numbers[0]; + for (int i : numbers) { + if (i > maximum) maximum = i; + } +} + int main () { vector numbers; vector baskets; @@ -34,39 +45,42 @@ int main () { size_t baskets_max_count; const size_t screen_width = 80; const size_t max_asterisk = screen_width - 3 - 1; - float basket_max; - float basket_min; - float basket_size; + double basket_max; + double basket_min; + double basket_size; cout.precision(4); - cerr << "Введите кол-во чисел в строке: "; - cin >> numbers_count; - numbers.resize(numbers_count); + Input in = input_data(); - cerr << "Введите строку чисел: "; - for (float& i : numbers) { - cin >> i; - } +// cerr << "Введите кол-во чисел в строке: "; +// cin >> numbers_count; +// numbers.resize(numbers_count); +// +// cerr << "Введите строку чисел: "; +// for (float& i : numbers) { +// cin >> i; +// } +// +// cerr << "Введите кол-во корзин: "; +// cin >> baskets_count; +// + //baskets.resize(baskets_count); - cerr << "Введите кол-во корзин: "; - cin >> baskets_count; - - baskets.resize(baskets_count); - - basket_max = numbers[0]; - for (int i : numbers) { - if (i > basket_max) basket_max = i; - } - basket_min = numbers[0]; - for (int i : numbers) { - if (i < basket_min) basket_min = i; - } +// basket_max = numbers[0]; +// for (int i : numbers) { +// if (i > basket_max) basket_max = i; +// } +// basket_min = numbers[0]; +// for (int i : numbers) { +// if (i < basket_min) basket_min = i; +// } + find_minmax(in.numbers, basket_min, basket_max); - basket_size = (basket_max - basket_min) / baskets_count; + basket_size = (basket_max - basket_min) / in.bin_count; - for (int i = 0; i < baskets_count; i++) { + for (int i = 0; i < in.bin_count; i++) { for (int j = 0; j < numbers_count; j++) { - if ((numbers[j] >= (basket_min + i * basket_size) and numbers[j] < (basket_min + (i + 1) * basket_size)) or (i == baskets_count - 1 and numbers[j] == basket_max)) { + if ((numbers[j] >= (basket_min + i * basket_size) and numbers[j] < (basket_min + (i + 1) * basket_size)) or (i == in.bin_count - 1 and numbers[j] == basket_max)) { baskets[i]++; } }