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

void show_histogram_text(const vector<double>& marks, const vector<double>& chart) {
    int VecSize = size(marks);
    const int shift = 4, maxlen = 80;
    double interval = 0, inp = 0, i = 0, min = 0, max = 0, scale = 1;
    FindMinMax(chart, min, max);
    if ((max + shift) > maxlen) {
        scale = (max + shift) / maxlen;
    }
    for (i = 0; i < size(chart); i++) {
        if (chart[i] < 10) {
            cout << "  ";
        }
        else if (9 < chart[i] && chart[i] < 100) {
            cout << " ";
        }
        cout << chart[i] << "|";
        max = (chart[i] / scale);
        if (scale != 1) {
            max -= 1;
        }
        for (int j = 0; j < max; j++) {
            cout << "*";
        }
        cout << "\n";
    }
};