#include #include #include int main() { // Ввод количества чисел и самих чисел std::cout << "Введите количество чисел: "; int n; std::cin >> n; std::vector numbers(n); std::cout << "Введите числа: "; for(int i = 0; i < n; i++) { std::cin >> numbers[i]; } // Определение границ диапазона int min_val = *std::min_element(numbers.begin(), numbers.end()); int max_val = *std::max_element(numbers.begin(), numbers.end()); // Ввод количества интервалов (корзин) std::cout << "Введите количество корзин: "; int bins; std::cin >> bins; // Создание массива для хранения количества чисел в каждой корзине std::vector histogram(bins, 0); // Вычисление ширины интервала double bin_width = static_cast(max_val - min_val) / bins; // Заполнение гистограммы for (int i = 0; i < n; i++) { int bin_index = (numbers[i] - min_val) / bin_width; if(bin_index == bins) { bin_index--; } histogram[bin_index]++; } // Преобразование гистограммы в нарастающий итог for (int i = 1; i < bins; i++) { histogram[i] += histogram[i-1]; } // Отображение гистограммы for(int i = 0; i < bins; i++) { std::cout << histogram[i] << "|"; for(int j = 0; j < histogram[i]; j++) { std::cout << "*"; } std::cout << std::endl; } return 0; }