Сommit
						0bc7ff4c22
					
				@ -0,0 +1,124 @@
 | 
				
			|||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <math.h>
 | 
				
			||||||
 | 
					#include <vector>
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    size_t colls;
 | 
				
			||||||
 | 
					    size_t quantity;
 | 
				
			||||||
 | 
					    size_t height;
 | 
				
			||||||
 | 
					    cerr << "vvedite kolichestvo chisel" << endl;
 | 
				
			||||||
 | 
					    cin >> colls;
 | 
				
			||||||
 | 
					    vector<float> numbers(colls);
 | 
				
			||||||
 | 
					    cerr << "vvedite massiv" << endl;
 | 
				
			||||||
 | 
					    for (int i = 0; i < colls; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        cin >> numbers[i];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    cerr << "vvedite kolichestvo diapazonov" << endl;
 | 
				
			||||||
 | 
					    cin >> quantity;
 | 
				
			||||||
 | 
					    bool heightbl = false;
 | 
				
			||||||
 | 
					    while (!heightbl)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        cerr << "vvedite velichiny gistogrammy"<<endl;
 | 
				
			||||||
 | 
					        cin >> height;
 | 
				
			||||||
 | 
					        if (height < colls / 3 - 4 && height < 3 && height>76)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            cerr << "vvedena nevernaya velichina gistogrammy. vvedite novoe znachenie"<<endl;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            heightbl = true;
 | 
				
			||||||
 | 
					            exit;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    height = height - 4;
 | 
				
			||||||
 | 
					    float minimum = numbers[0];
 | 
				
			||||||
 | 
					    for (int i = 0; i < colls; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (numbers[i] < minimum)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            minimum = numbers[i];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    float maximum = numbers[0];
 | 
				
			||||||
 | 
					    for (int i = 0; i < colls; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (numbers[i] > maximum)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            maximum = numbers[i];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    float low = minimum;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    float diff = (maximum - minimum) / quantity;
 | 
				
			||||||
 | 
					    float high = minimum+diff;
 | 
				
			||||||
 | 
					    vector<int> count(quantity);
 | 
				
			||||||
 | 
					    for (int i = 0; i < quantity; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (i + 1 == quantity)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            high=maximum;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        int sum = 0;
 | 
				
			||||||
 | 
					        for (int j = 0; j < colls; j++)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (numbers[j] < high && numbers[j] >= low && high!=maximum)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                sum++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (high == maximum && numbers[j] <= high && numbers[j] >= low)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                sum++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        count[i] = sum;
 | 
				
			||||||
 | 
					        low += diff;
 | 
				
			||||||
 | 
					        high += diff;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    int maxnum = 0;
 | 
				
			||||||
 | 
					    int maxcount = count[0];
 | 
				
			||||||
 | 
					    for (int i = 0; i < quantity; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (maxcount > count[i])
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            maxcount = count[i];
 | 
				
			||||||
 | 
					            maxnum = i;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    for (int i = 0; i < quantity; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (count[i] < 100)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            cout << " ";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (count[i] < 10)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            cout << " ";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        cout << count[i] << " | ";
 | 
				
			||||||
 | 
					        if (maxcount > height)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            count[i] = height * (static_cast<double>(count[i]) / maxcount);
 | 
				
			||||||
 | 
					            for (int j = 0; j < count[i]; j++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                cout << "*";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            cout << endl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            for (int j = 0; j < count[i]; j++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                cout << "*";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            cout << endl;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    getchar();
 | 
				
			||||||
 | 
					    getchar();
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче