commit 6a0775364fc6c7bdd57492245cf58adb7b24819e Author: Platon (MiachinPY) Date: Mon Apr 14 15:49:41 2025 +0300 code - main.cpp diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..54a2304 --- /dev/null +++ b/main.cpp @@ -0,0 +1,75 @@ +#include +#include + +using namespace std; + +int main() +{ + setlocale(LC_ALL, "Russian"); + + size_t number_count, bin_count; + size_t max_count = 0; + + cerr << "Введите количество оценок: "; + cin >> number_count; + + vector numbers(number_count); + + for(size_t i = 0; i < number_count; i++){ + cerr << "Введите число " << i + 1 << " : "; + cin >> numbers[i]; + } + + cerr << "Введите количество корзин: "; + cin >> bin_count; + + vector bins(bin_count, 0); + + double min = numbers[0]; + double max = numbers[0]; + for (size_t i = 1; i < number_count; i++) { + if (numbers[i] < min) { + min = numbers[i]; + } + if (numbers[i] > max) { + max = numbers[i]; + } + } + + 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]++; + } + } + + //максимум элементов в корзине + for (size_t i = 0; i < bin_count; i++) { + if (bins[i] > max_count) { + max_count = bins[i]; + } + } + + for (size_t i = 1; i <= max_count; i++) { //по тсрокам + for (size_t j = 0; j < bin_count; j++) { //по корзинам + if (bins[j] >= i) { + cout << "*"; + } else { + cout << " "; + } + } + cout << endl; + } + + return 0; +}