From 658917225a4c1c3ad405fb1e1d4c034977f75e98 Mon Sep 17 00:00:00 2001
From: TarasovEE <TarasovYY@mpei.ru>
Date: Sun, 18 May 2025 20:14:59 +0300
Subject: [PATCH] =?UTF-8?q?sourcetext:=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=80?=
 =?UTF-8?q?=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D1=84?=
 =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE?=
 =?UTF-8?q?=D0=B4=D0=B0=20=D0=B3=D0=B8=D1=81=D1=82=D0=BE=D0=B3=D1=80=D0=B0?=
 =?UTF-8?q?=D0=BC=D0=BC=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 text.cpp | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 text.cpp

diff --git a/text.cpp b/text.cpp
new file mode 100644
index 0000000..be24107
--- /dev/null
+++ b/text.cpp
@@ -0,0 +1,39 @@
+#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 max_count = bins[0];
+
+    for (size_t i = 0; i < bin_count; i++)
+        {
+            if (bins[i] > max_count)
+                max_count = bins[i];
+        }
+
+//  �������� ����������� �� �������.
+
+    size_t height;
+    size_t buf;
+
+    for (size_t i = 0; i < bin_count; i++)
+        {
+            buf = bins[i];
+            while (buf < max_count) //  ������������ ��� �����, ������� ��� ������������ �����.
+                {
+                    cout << " ";
+                    buf *= 10;
+                }
+            cout << bins[i] << "|";
+            height = bins[i];
+            if (max_count > MAX_ASTERISK)
+                height = MAX_ASTERISK * (static_cast<double>(bins[i]) / max_count);
+            for (size_t j = 1; j <= height; j++)
+                cout << "*";
+            cout << endl;
+        }
+}