#include #include using namespace std; int main() { size_t numbers_count; cerr << "Enter numbers count: "; cin >> numbers_count; vector numbers(numbers_count); cerr << "Enter numbers: "; for (int i = 0; i < numbers_count; i++) { cin >> numbers[i]; } size_t bin_count; cerr << "Enter bin count: "; cin >> bin_count; vector bins(bin_count); double min = numbers[0]; double max = numbers[0]; for (double x : numbers){ if (x < min) { min = x; } else if (x > max) { max = x; } } double bin_size = (max-min) / bin_count; for (size_t i = 0; i < numbers_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]++; } } /* cout << "Numbers: "; for (int i=0;i max_count) { max_count = x; } } /*if (max_count > 76) { for (size_t i = 0; i < bin_count; i++) { if (bins[i] == max_count) { bins[i] = 76 * 1.0; } else { bins[i] = 76 * (static_cast(bins[i]) / max_count); } } }*/ for (int i = 0; i < bin_count; i++) { /*if ((bins[i] >= 100) && (bins[i] < 1000)){ cout << " " << bins[i] << "|"; }*/ if ((bins[i] >= 1) && (bins[i] < 10)){ cout << " " << bins[i] << "|"; } else if ((bins[i] >= 10) && (bins[i] < 100)){ cout << " " << bins[i] << "|"; } else { cout << bins[i] << "|"; } if (max_count > 76) { if (bins[i] == max_count) { bins[i] = 76 * 1.0; } else { bins[i] = 76 * (static_cast(bins[i]) / max_count); } } for (int j = 0;j < bins[i]; j++){ cout << "*"; } cout << "\n"; } return 0; }