#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <string>
using namespace std;
// Функция для вывода линии таблицы с заданными символами
void line(string start, string middle, string cross, string end, int count, int len) {
cout << start;
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < len; j++) cout << middle;
cout << cross;
}
for (int j = 0; j < len; j++) cout << middle;
cout << end << endl;
}
int main() {
int rows = 10; // количество строк с данными
int cols = 6; // количество столбцов
int cellWidth = 6; // ширина ячейки
// Верхняя граница таблицы
line("╔", "═", "╦", "╗", cols, cellWidth);
// Заголовок таблицы
cout << "║" << setw(cellWidth) << "N" << " ║"
<< setw(cellWidth) << "a" << " ║"
<< setw(cellWidth) << "b" << " ║"
<< setw(cellWidth) << "c" << " ║"
<< setw(cellWidth) << "d" << " ║"
<< setw(cellWidth) << "vetka" << "║" << endl;
// Разделитель между заголовком и данными
line("╠", "═", "╬", "╣", cols, cellWidth);
// Вывод данных с рандомными числами
for (int i = 0; i < rows; i++) {
cout << "║";
for (int j = 0; j < cols; j++) {
cout << setw(cellWidth) << rand() % 1000 << "║";
}
cout << endl;
}
// Нижняя граница таблицы
line("╚", "═", "╩", "╝", cols, cellWidth);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8g0KTRg9C90LrRhtC40Y8g0LTQu9GPINCy0YvQstC+0LTQsCDQu9C40L3QuNC4INGC0LDQsdC70LjRhtGLINGBINC30LDQtNCw0L3QvdGL0LzQuCDRgdC40LzQstC+0LvQsNC80LgKdm9pZCBsaW5lKHN0cmluZyBzdGFydCwgc3RyaW5nIG1pZGRsZSwgc3RyaW5nIGNyb3NzLCBzdHJpbmcgZW5kLCBpbnQgY291bnQsIGludCBsZW4pIHsKICAgIGNvdXQgPDwgc3RhcnQ7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50IC0gMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBsZW47IGorKykgY291dCA8PCBtaWRkbGU7CiAgICAgICAgY291dCA8PCBjcm9zczsKICAgIH0KICAgIGZvciAoaW50IGogPSAwOyBqIDwgbGVuOyBqKyspIGNvdXQgPDwgbWlkZGxlOwogICAgY291dCA8PCBlbmQgPDwgZW5kbDsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgcm93cyA9IDEwOyAgICAgICAvLyDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0YDQvtC6INGBINC00LDQvdC90YvQvNC4CiAgICBpbnQgY29scyA9IDY7ICAgICAgICAvLyDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0L7Qu9Cx0YbQvtCyCiAgICBpbnQgY2VsbFdpZHRoID0gNjsgICAvLyDRiNC40YDQuNC90LAg0Y/Rh9C10LnQutC4CgogICAgLy8g0JLQtdGA0YXQvdGP0Y8g0LPRgNCw0L3QuNGG0LAg0YLQsNCx0LvQuNGG0YsKICAgIGxpbmUoIuKVlCIsICLilZAiLCAi4pWmIiwgIuKVlyIsIGNvbHMsIGNlbGxXaWR0aCk7CgogICAgLy8g0JfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGLCiAgICBjb3V0IDw8ICLilZEiIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAiTiIgPDwgIiDilZEiCiAgICAgICAgIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAiYSIgPDwgIiDilZEiCiAgICAgICAgIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAiYiIgPDwgIiDilZEiCiAgICAgICAgIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAiYyIgPDwgIiDilZEiCiAgICAgICAgIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAiZCIgPDwgIiDilZEiCiAgICAgICAgIDw8IHNldHcoY2VsbFdpZHRoKSA8PCAidmV0a2EiIDw8ICLilZEiIDw8IGVuZGw7CgogICAgLy8g0KDQsNC30LTQtdC70LjRgtC10LvRjCDQvNC10LbQtNGDINC30LDQs9C+0LvQvtCy0LrQvtC8INC4INC00LDQvdC90YvQvNC4CiAgICBsaW5lKCLilaAiLCAi4pWQIiwgIuKVrCIsICLilaMiLCBjb2xzLCBjZWxsV2lkdGgpOwoKICAgIC8vINCS0YvQstC+0LQg0LTQsNC90L3Ri9GFINGBINGA0LDQvdC00L7QvNC90YvQvNC4INGH0LjRgdC70LDQvNC4CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHJvd3M7IGkrKykgewogICAgICAgIGNvdXQgPDwgIuKVkSI7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBjb2xzOyBqKyspIHsKICAgICAgICAgICAgY291dCA8PCBzZXR3KGNlbGxXaWR0aCkgPDwgcmFuZCgpICUgMTAwMCA8PCAi4pWRIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQoKICAgIC8vINCd0LjQttC90Y/RjyDQs9GA0LDQvdC40YbQsCDRgtCw0LHQu9C40YbRiwogICAgbGluZSgi4pWaIiwgIuKVkCIsICLilakiLCAi4pWdIiwgY29scywgY2VsbFdpZHRoKTsKCiAgICByZXR1cm4gMDsKfQo=