Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

54 строки
1.2 KiB
C++

#include <iostream>
#include <vector>
#include <conio.h>
using namespace std;
int main()
{
size_t i,j;
size_t numbers_count,bin_count;
cout<<"enter number count:";
cin>>numbers_count;
cout<<"enter bin_count:";
cin>>bin_count;
vector<double> numbers(numbers_count);
for(i=0;i<numbers_count;i++){
cout<<"numbers["<<i<<"]=";
cin>>numbers[i];
}
vector<size_t> bins(bin_count);
double min=numbers[0];
double max=numbers[0];
for(double x: numbers){
if(x<min){
min=x;
}
else if(x>max){
max=x;
}
}
double bin_size=(max-min)/bin_count;
for(i=0;i<numbers_count;i++){
bool found=false;
for(j=0;(j<bin_count-1)&&(!found);j++){
auto lo = min+j*bin_size;
auto hi = min+(j+1)*bin_size;
if((lo<=numbers[i])&&(numbers[i]<hi)){
bins[j]++;
found=true;
}
}
if(!found){
bins[bin_count-1]++;
}
}
for(i=0;i<bin_count;i++){
cout<<bins[i]<<"|";
for(j=0;j<bins[i];j++){
cout<<"*";
}
cout<<endl;
}
getch();
}