commit a68a0449123450f17f7a644555e1d59ce7ba9ded Author: VolodinDV Date: Wed Apr 24 13:05:07 2024 +0300 code: заготовка diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6d2f6a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin +/obj + diff --git a/lab1.cbp b/lab1.cbp new file mode 100644 index 0000000..eeeef16 --- /dev/null +++ b/lab1.cbp @@ -0,0 +1,45 @@ + + + + + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..65a348e --- /dev/null +++ b/main.cpp @@ -0,0 +1,81 @@ +#include +#include +#include +using namespace std; +int main(){ + const size_t SCREEN_WIDTH = 80; + const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; + size_t n,h; + cerr<<"Enter number count "; + cin>>n; + cerr<<"Enter bin count "; + cin>>h; + vector num(n); + vector bins(h); + cerr<<"Enter massive elements "; + for (size_t i=0;i> num[i]; + } + double minn = num[0]; + double maxx = num[0]; + for (double x : num) { + if (x < minn) { + minn = x; + } + else if (x > maxx) { + maxx = x; + } + } + double l=(maxx - minn) / h; + for (size_t i = 0; i < n; i++) { + bool found = false; + for (size_t j = 0; (j < h - 1) && !found; j++) { + auto lo = minn + j * l; + auto hi = minn + (j + 1) * l; + if ((lo <= num[i]) && (num[i] < hi)) { + bins[j]++; + found = true; + } + } + if (!found) { + bins[h - 1]++; + } + } + size_t max_count = bins[0]; + for (size_t i = 0; i < h; i++) { + if (bins[i]>max_count) { + max_count = bins[i]; + } + } + vector height(h); + for (size_t i = 0; i < h; i++) { + if (max_count > MAX_ASTERISK) { + height[i] = round(MAX_ASTERISK * (static_cast(bins[i]) / max_count)); + } else { + height[i]=bins[i]; + } + } + for (size_t i=0;i=100){ + cout<< bins[i]<< "|"; + for (size_t j=0;j=10){ + cout<<" "<< bins[i]<< "|"; + for (size_t j=0;j