#include #include #include #include const size_t WINDOW_WIDTH = 80; const size_t MAX_VALUE = WINDOW_WIDTH - 3 - 1; using namespace std; int main() { size_t count, inters; cerr<< "The amount of numbers is: "; cin >> count; cerr << endl << "Numbers are: "; vector numbers (count); for (int i = 0; i < count; i++){cin >> numbers[i];} cerr << endl << "The amounts of intervals: "; cin >> inters; float min_number = numbers[0]; float max_number = numbers[0]; for (float now: numbers){ if (now < min_number) {min_number = now;} if (now > max_number) {max_number = now;} } float diff = (max_number - min_number) / inters; vector bins(inters); float lo = min_number, hi = min_number + diff; for (int i = 0; i < inters; i++){ for (float now : numbers){ if (i == inters - 1) { if ((now >= lo) && (now <= hi)) {bins[i]++;} } else { if ((now >= lo) && (now < hi)) {bins[i]++;} } } lo = hi; hi += diff; } float max_count = 0; for (auto now : bins) {max_count += now;} int added = 0; for (size_t now : bins){ int height = 0; added += now; if (added < 100) {cout << ' ';} if (added < 10) {cout << ' ';} //форматирование строк cout << added << "|"; if (added == max_count) {height = MAX_VALUE * 1.0;} else {height = MAX_VALUE * (static_cast (added) / max_count);} for (int i = 0; i < round(height); i++) {cout << "*";} cout << endl; } return 0; }