Скачиваний:
3
Добавлен:
05.07.2020
Размер:
17.35 Кб
Скачать

#include <iostream> #include <vector> using namespace std;

const int MAX_WiDTH = 75; int main()

{

size_t number_count;

cerr << "Enter number count\n"; cin >> number_count;

vector <double> numbers (number_count);

cerr << "Vvod massiva " << number_count << " chisel\n"; for (int i = 0; i < number_count; i++)

{

cin >> numbers[i];

}

size_t bin_count; perehod:

cerr << "Enter bin count\n"; cin >> bin_count;

double min,max; min = numbers[0]; max = numbers[0];

for (int i = 0; i < number_count; i++)

{

if (min > numbers[i])

{

min = numbers[i];

}

if (max < numbers[i])

{

max = numbers[i];

}

}

double h;

h = (max-min)*1.0/(bin_count*1.0); vector <size_t> bins (bin_count); for (double number : numbers)

{

for (size_t i = 0; i < bin_count; i++)

{

if ((number >= (min+h*(i))) && (number < (min+h*(i+1))))

{

bins[i]++;

}

if (i >= bin_count)

{

i = bin_count-1;

}

}

if (number == max)

{

bins [bin_count-1]++;

}

}

size_t minbin,maxbin;

minbin = 999; maxbin = 0;

for (size_t bin : bins)

{

if (bin < minbin)

{

minbin = bin;

}

if (bin > maxbin)

{

maxbin = bin;

}

}

double koef; koef = 1;

if (maxbin > MAX_WiDTH)

{

koef = (static_cast<double>(MAX_WiDTH)/maxbin);

}

for ( size_t bin : bins)

{

if (bin < 100)

{

cout << " ";

}

if (bin < 10)

{

cout << " ";

}

cout << bin << "|";

for (size_t i = 0; i < bin*koef; i++)

{

cout << "*";

}

cout << "\n";

}

string Powtor_wwod;

cerr << "WI dowolny? (y/n)\n"; cin >> Powtor_wwod;

if (Powtor_wwod == "n")

{

goto perehod;

}

return 0;

}

2

Соседние файлы в папке Лабораторные работы 2 семестр