From db1fa4cc1bced6edc815fb1fbe103ad627a12c2f Mon Sep 17 00:00:00 2001 From: TimoshenkoAA Date: Sat, 27 Apr 2024 13:41:39 +0300 Subject: [PATCH] =?UTF-8?q?code::=20=D0=B8=D1=81=D1=85=D0=BE=D0=B4=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab01/main.cpp | 93 -------------------------------------------------- 1 file changed, 93 deletions(-) diff --git a/lab01/main.cpp b/lab01/main.cpp index 6997b89..8b13789 100644 --- a/lab01/main.cpp +++ b/lab01/main.cpp @@ -1,94 +1 @@ -#include -#include -using namespace std; -const size_t SCREEN_WIDTH = 80; -const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1; - -struct Input { - vector numbers; - size_t bin_count{}; -}; -Input -input_data() { - Input in; - size_t number_count; - cin >> number_count; - in.numbers.resize(number_count); - vector numbers(number_count); - for (size_t i = 0; i < number_count; i++) { - cin >> numbers[i];} - size_t bin_count; - cin >> bin_count; - return in;} - -int main() -{ - size_t number_count, bin_count; - Input in = input_data(); - size_t number_count = size(numbers) - cerr << "Enter number count: "; - cin>>number_count; - vector numbers(number_count); - cerr << "Enter numbers: "; - for (size_t i = 0; i < number_count;i++){ - cin >> numbers[i]; - } - cerr << "Enter bin count: "; - cin >> bin_count; - vector bins(bin_count); - - double min = numbers[0]; - double max = numbers[0]; - for (double number : numbers) { - if (number < min) { - min = number; - } - else if (number > max) { - max = number; - } - } - double bin_size = (max - min) / bin_count; - - for (size_t i = 0; i < number_count; 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]++; - } - } - - size_t max_bin = bins[0]; - for (size_t i = 1; i < bin_count; i++){ - if (bins[i] > max_bin){ - - max_bin = bins[i];} - } - - - for (size_t bin: bins){ - size_t height; - - if (bin < 100){ - cout << ' '; - } - if (bin < 10){ - cout << ' '; - } - if (max_bin > MAX_ASTERISK) height = MAX_ASTERISK * (static_cast(bin) / max_bin); - else height = bin; - cout << bin << "|"; - for (size_t j = 0; j < height; j++){//height - cout<< "*"; - } - cout << "\n"; - } - return 0; -}