#include <iostream>
#include <vector>
#include "text.h"
using namespace std;

void show_histogram_text(vector<size_t> bins, size_t bin_count)
{
    const size_t screen_width = 80;
    const size_t max_asterisk = screen_width - 3 - 1;
    size_t i,j;
    double max_count;
    max_count = bins[0];
    for (i=0; i< bin_count; i++)
    {
        if (max_count<bins[i])
        {
            max_count=bins[i];
        }
    }

    size_t height;
    bool flag = false;
    if(max_count>max_asterisk)
    {
        flag=true;
    }
    for (j = 0; j < bin_count; j++)
    {
        if (bins[j] < 100)
        {
            cout << " ";
        }
        if (bins[j] < 10)
        {
            cout << " ";
        }
        cout << bins[j] << "|";

        if (flag)
        {
            height = max_asterisk * (static_cast<double>(bins[j]) / max_count);
        }
        else
        {
            height=bins[j];
        }
        for (i = 0; i < height; i++)
        {
            cout << "*";
        }
        cout << endl;
    }
}