commit 0073bd7b08f6ad7db78acc1e37e1345d3636b923 Author: IshutinaYI Date: Mon Apr 10 09:35:02 2023 +0300 build: Добавлены файлы с кодом .cpp и .cbp diff --git a/lab1var8.cbp b/lab1var8.cbp new file mode 100644 index 0000000..7cb9e07 --- /dev/null +++ b/lab1var8.cbp @@ -0,0 +1,40 @@ + + + + + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..7ac292a --- /dev/null +++ b/main.cpp @@ -0,0 +1,58 @@ +#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; +} +