Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
51 строка
1.2 KiB
C++
51 строка
1.2 KiB
C++
#include <iostream>
|
|
#include <vector>
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
int VecSize = 0, NCharts = 0, Average = 0;
|
|
double interval = 0, inp = 0, i = 0, min = 0, max = 0, scale = 1;
|
|
cin >> VecSize;
|
|
vector <double> marks;
|
|
for (int j = 0; j < VecSize; j++) {
|
|
cin >> inp;
|
|
marks.push_back(inp);
|
|
Average ++;
|
|
}
|
|
cin >> NCharts;
|
|
vector <int> chart(NCharts);
|
|
min = *min_element(begin(marks), end(marks));
|
|
max = *max_element(begin(marks), end(marks));
|
|
interval = (max - min) / NCharts;
|
|
for (int x : marks) {
|
|
i = 0;
|
|
while ((x > min + interval * (i + 1))) {
|
|
i += 1;
|
|
}
|
|
chart[i] += 1;
|
|
}
|
|
max = *max_element(begin(chart), end(chart));
|
|
if ((max+4) > 80) {
|
|
scale = (max+4) / 80;
|
|
}
|
|
for (i = 0; i < NCharts; i++) {
|
|
if (chart[i] < 10) {
|
|
cout << " ";
|
|
}
|
|
else if (9 < chart[i] && chart[i]< 100) {
|
|
cout << " ";
|
|
}
|
|
cout << chart[i] << "|";
|
|
max = (chart[i] / scale);
|
|
if (scale != 1) {
|
|
max -= 1;
|
|
}
|
|
for (int j = 0; j < max; j++) {
|
|
cout << "*";
|
|
}
|
|
cout << "\n";
|
|
}
|
|
}
|
|
|