#include <random>
#include <vector>
#include <algorithm>
#include <iostream>
#include <iomanip>

int const width = 30;
int const samples = 50000;
double const stretch = 20.;

int main(int argc, char * argv[])
{
	std::mt19937 gen;
	std::normal_distribution<> dist(0.8, 0.2);

	std::vector<unsigned> hist(width);

	for(size_t i = 0; i < samples; ++i)
	{
		int v = dist(gen) * stretch;
		if(v > 0. && v < width)
			++hist[v];
	}

	int fakt = *std::max_element(hist.begin(), hist.end()) / width;

	for(size_t i = 0; i < width; ++i)
		std::cout << std::setw(4) << i / stretch << ": " << std::string(hist[i] / fakt, '*') << '\n';
}

