Родитель
							
								
									5a73a27f24
								
							
						
					
					
						Сommit
						983f7ee372
					
				@ -0,0 +1,38 @@
 | 
				
			||||
#include "text.h"
 | 
				
			||||
 | 
				
			||||
using namespace std;
 | 
				
			||||
 | 
				
			||||
void show_histogram_text(const vector<size_t> &bins){
 | 
				
			||||
    //ïîèñê ìàêñèìàëüíîãî êîëè÷åñòâà ÷èñåë â êîðçèíå
 | 
				
			||||
    size_t max_count = 0;
 | 
				
			||||
    for (double x : bins){
 | 
				
			||||
        if (x > max_count){
 | 
				
			||||
            max_count = x;
 | 
				
			||||
        }
 | 
				
			||||
    }
 | 
				
			||||
    //êîíñòàíòû äëÿ ìàñøòàáèðîâàíèÿ
 | 
				
			||||
    const size_t SCREEN_WIDTH = 80;
 | 
				
			||||
    const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 1;
 | 
				
			||||
    //âûâîä
 | 
				
			||||
    for (size_t i = 0;i < bins.size();i++){
 | 
				
			||||
        if (bins[i] < 100){
 | 
				
			||||
            cout << " ";
 | 
				
			||||
        }
 | 
				
			||||
        if (bins[i] < 10){
 | 
				
			||||
            cout << " ";
 | 
				
			||||
        }
 | 
				
			||||
        cout << bins[i] << "|";
 | 
				
			||||
        if (max_count > MAX_ASTERISK){
 | 
				
			||||
            size_t height = MAX_ASTERISK * (static_cast<double>(bins[i]) / max_count);
 | 
				
			||||
            for (size_t j = 0;j < height;j++){
 | 
				
			||||
                cout << "*";
 | 
				
			||||
            }
 | 
				
			||||
        }
 | 
				
			||||
        else{
 | 
				
			||||
            for (size_t j = 0;j < bins[i];j++){
 | 
				
			||||
                cout << "*";
 | 
				
			||||
            }
 | 
				
			||||
        }
 | 
				
			||||
        cout << endl;
 | 
				
			||||
     }
 | 
				
			||||
}
 | 
				
			||||
					Загрузка…
					
					
				
		Ссылка в новой задаче