Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
54 строки
1.2 KiB
C++
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();
|
|
}
|