From 8804e2becd6bdcd2d7560b32c64b1394cbc3e61a Mon Sep 17 00:00:00 2001
From: Kazuyuki Omi <omikazuy@fel.cvut.cz>
Date: Sat, 22 Mar 2025 15:10:20 +0100
Subject: [PATCH] change in main

---
 hw/hw01/ascii          | Bin 0 -> 24928 bytes
 hw/hw01/ascii.cpp      |  22 ++++
 hw/hw01/chat           | Bin 25104 -> 49416 bytes
 hw/hw01/chat.cpp       | 251 +++++++++++++++++++++++++++++++++++------
 hw/hw01/get_sm_vek     | Bin 0 -> 32392 bytes
 hw/hw01/get_sm_vek.cpp |  84 ++++++++++++++
 hw/hw01/main           | Bin 43608 -> 54152 bytes
 hw/hw01/main.cpp       | 229 +++++++++++++++++--------------------
 hw/hw01/print2         | Bin 32616 -> 32616 bytes
 hw/hw01/print2.cpp     |  17 ++-
 hw/hw01/print3         | Bin 0 -> 32536 bytes
 hw/hw01/print3.cpp     |  83 ++++++++++++++
 hw/hw01/print4         | Bin 0 -> 53200 bytes
 hw/hw01/print4.cpp     | 132 ++++++++++++++++++++++
 hw/hw01/vector         | Bin 0 -> 53136 bytes
 hw/hw01/vector.cpp     | 211 ++++++++++++++++++++++++++++++++++
 hw/hw01/width          | Bin 0 -> 25640 bytes
 hw/hw01/width.cpp      |  62 ++++++++++
 18 files changed, 923 insertions(+), 168 deletions(-)
 create mode 100755 hw/hw01/ascii
 create mode 100644 hw/hw01/ascii.cpp
 create mode 100755 hw/hw01/get_sm_vek
 create mode 100644 hw/hw01/get_sm_vek.cpp
 create mode 100755 hw/hw01/print3
 create mode 100644 hw/hw01/print3.cpp
 create mode 100755 hw/hw01/print4
 create mode 100644 hw/hw01/print4.cpp
 create mode 100755 hw/hw01/vector
 create mode 100644 hw/hw01/vector.cpp
 create mode 100755 hw/hw01/width
 create mode 100644 hw/hw01/width.cpp

diff --git a/hw/hw01/ascii b/hw/hw01/ascii
new file mode 100755
index 0000000000000000000000000000000000000000..3c5bbb6330655dbd54de4c5c9f446a0e11535ded
GIT binary patch
literal 24928
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

literal 0
HcmV?d00001

diff --git a/hw/hw01/ascii.cpp b/hw/hw01/ascii.cpp
new file mode 100644
index 0000000..074c7f9
--- /dev/null
+++ b/hw/hw01/ascii.cpp
@@ -0,0 +1,22 @@
+#include <iostream>
+
+int main()
+{
+    std::string a = "578";
+
+    try
+    {
+        int i = std::stoi(a);
+        if (i == 0)
+            std::cout << i << std::endl;
+        else
+            return 103;
+    }
+    catch (const std::invalid_argument &e)
+    {
+        std::cerr << "invalid input" << std::endl;
+        return 103;
+    }
+
+    return 0;
+}
\ No newline at end of file
diff --git a/hw/hw01/chat b/hw/hw01/chat
index b4103d7836c37ed1de00368427708652939a4fdf..df306090ee3bcc5d83a7a74a71e77421761e4628 100755
GIT binary patch
literal 49416
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

literal 25104
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
G)&3V_#*&!;

diff --git a/hw/hw01/chat.cpp b/hw/hw01/chat.cpp
index e91478e..a84767c 100644
--- a/hw/hw01/chat.cpp
+++ b/hw/hw01/chat.cpp
@@ -1,60 +1,237 @@
 #include <iostream>
-#include <iomanip>
+#include <sstream>
+#include <string>
 #include <vector>
+#include <cstring>
+#include <cstdio>
+#include <iomanip>
+
+typedef struct setting
+{
+    int min = -9999999;
+    int max = 98888999;
+    int width = 3;
+    std::string align = "left";
+    std::vector<std::vector<int>> vectors;
+    int count = 0;
+    int suma = 0;
+    int stretch = 0;
+} setting;
+
+void get_config(setting &a)
+{
+    std::string line;
+    std::cout << "start configration" << std::endl;
+    std::getline(std::cin, line);
+    std::istringstream iss(line);
+
+    std::string setting;
+
+    while (iss >> setting)
+    {
+        std::istringstream setting_stream(setting);
+        std::string key;
+        std::getline(setting_stream, key, '=');
+
+        if (key == "config.min")
+        {
+            setting_stream >> a.min;
+        }
+        else if (key == "config.max")
+        {
+            setting_stream >> a.max;
+        }
+        else if (key == "config.width")
+        {
+            setting_stream >> a.width;
+        }
+        else if (key == "config.align")
+        {
+            setting_stream >> a.align;
+        }
+        else if (key == "=")
+        {
+            break;
+        }
+    }
+}
+
+void sum(setting &a, int range)
+{
+    int suma = 0;
+    std::cout << range << std::endl;
+    for (int i = 0; i - 1 < range; i++)
+    {
+        suma += a.numbers[i];
+    }
+
+    a.numbers.push_back(suma);
+}
+
+int get_numbers(setting &a)
+{
+    std::string line;
+    std::cout << "zadejte cisla: ";
+
+
+    while (std::getline(std::cin, line))
+    {
+        std::getline(std::cin, line);
+        std::istringstream iss(line);
+        std::vector<int> numbers;
+        std::string token;
+        std::string range;
+        int tmp = 0;
+
+        while (std::getline(iss, token, ';'))
+        {
 
-// 上部の区切り線を出力
-void print_prvi_hore(int a) {
+            if (token.rfind("SUM(", 0) == 0)
+            {
+                char start, end;
+                int range = 0;
+                sscanf(token.c_str(), "SUM(%c:%c)", &start, &end);
+                range = end - start;
+                sum(a, range);
+            }
+            else
+            {
+                try
+                {
+                    tmp = std::stoi(token);
+                    if (tmp > a.max || tmp < a.min)
+                    {
+                        std::cout << "Out of Range" << std::endl;
+                        return 100;
+                    }
+                    numbers.push_back(tmp);
+                }
+                catch (std::exception &e)
+                {
+                    std::cout << "Invalid " << std::endl;
+                }
+            }
+        }
+    }
+    return 0;
+}
+
+int column = 1;
+/*
+void print_prvi_hore(setting &a)
+{
     std::cout << "+";
-    for (int i = 0; i < a; i++) {
-        std::cout << "-----+";
+    for (int i = 0; i < a.numbers.size(); i++)
+    {
+        std::cout<<"-----+";
     }
     std::cout << "\n";
 }
+*/
+void print_prvi_hore(setting &a)
+{
+    std::cout << "+";
+    for (int i = 0; i < a.numbers.size() + 1; i++)
+    {
+        for (int j = 0; j < a.width + 2; j++)
+            std::cout << "-";
 
-// ABC のラベルを出力
-void print_ABC(int s) {
+        std::cout << "+";
+    }
+    std::cout << "\n";
+}
+
+void print_ABC(setting &a)
+{
     char posize = 'A';
-    for (int j = 0; j < s; j++) {
-        if (j == 0)
-            std::cout << std::left << std::setfill(' ') << std::setw(5) << "|" << " ";
-        else
-            std::cout << std::left << std::setfill(' ') << std::setw(4) << "|" << posize++ << " ";
+    if (a.align == "left")
+    {
+        for (int j = 0; j < a.numbers.size() + 1; j++)
+        {
+            {
+                if (j == 0)
+                    std::cout << std::left << std::setfill(' ') << std::setw(a.width + a.stretch + 3) << "|";
+
+                else
+                    std::cout << std::left << "|" << " " << std::setfill(' ') << std::setw(a.width + a.stretch + 1) << posize++;
+            }
+        }
     }
-    std::cout << "|\n";
-    print_prvi_hore(s);
+    else if (a.align == "right")
+    {
+        for (int j = 0; j < a.numbers.size() + 1; j++)
+        {
+            {
+                if (j == 0)
+                    std::cout << std::right << "|" << std::setfill(' ') << std::setw(a.width);
+
+                else
+                    std::cout << std::right << "|" << std::setfill(' ') << std::setw(a.width - 2) << posize++ << " ";
+            }
+        }
+    }
+    std::cout << "|" << std::endl;
+    print_prvi_hore(a);
 }
 
-// データを出力
-void print_da(const std::vector<int> &numbers, int size) {
-    int count = 1;
-    std::cout << std::left << std::setfill(' ') << std::setw(4) << "|" << count << " ";
+void print_num(setting &a)
+{
+    if (a.align == "left")
+    {
+        std::cout << std::left << "|" << " " << std::setfill(' ') << std::setw(a.width + a.stretch + 1) << column++;
+        for (int i = 0; i < a.numbers.size() + 1; i++)
+        {
+            if (i < a.numbers.size() + 1)
+                std::cout << std::left << "|" << " " << std::setfill(' ') << std::setw(a.width + 1) << a.numbers[i];
+
+            else if (i > a.numbers.size() + 1)
+            {
+                std::cout << std::setfill(' ') << std::setw(a.width) << "|";
+                print_prvi_hore(a);
+            }
+        }
 
-    for (int i = 0; i < size - 1; i++) { // size-1にすることで適切な列数に調整
-        if (i < numbers.size()) {
-            std::cout << std::left << std::setfill(' ') << "|" << " " << std::setw(4) << numbers[i];
-        } else {
-            std::cout << std::setfill(' ') << std::setw(6) << "|";  // 空白セル
+        std::cout << "|\n";
+        print_prvi_hore(a);
+    }
+    else if (a.align == "right")
+    {
+        std::cout << std::right << std::setfill(' ') << "|" << std::setw(a.width) << column++ << " ";
+        for (int i = 0; i < a.numbers.size() + 1; i++)
+        {
+            if (i < a.numbers.size() + 1)
+            {
+                std::cout << std::right << std::setfill(' ') << "|" << std::setw(a.width) << a.numbers[i] << " ";
+            }
+            else if (i > a.numbers.size() + 1)
+            {
+                std::cout << std::right << " " << std::setfill(' ') << std::setw(a.width) << " " << "|";
+                print_prvi_hore(a);
+            }
         }
+
+        std::cout << "|\n";
+        print_prvi_hore(a);
     }
+}
 
-    std::cout << "|\n";
-    print_prvi_hore(size);
+void pre_print(setting &a)
+{
+    print_prvi_hore(a);
+    print_ABC(a);
+    print_num(a);
 }
 
-int main() {
-    std::vector<int> first = {1, 2, 3, 4, 5};
-    int size_first = first.size() + 1;
+int main()
+{
+    setting a;
+    get_config(a);
 
-    std::vector<int> second = {10, 20, 30, 40, 50, 60};
-    int size_second = second.size() + 1;
+    std::cout << a.min << " " << a.max << " " << a.width << " " << a.align << std::endl;
 
-    // 大きい方のサイズに統一
-    int table_size = std::max(size_first, size_second);
+    get_numbers(a);
 
-    print_prvi_hore(table_size);
-    print_ABC(table_size);
-    print_da(first, table_size);
-    print_da(second, table_size);
+    pre_print(a);
 
     return 0;
-}
+}
\ No newline at end of file
diff --git a/hw/hw01/get_sm_vek b/hw/hw01/get_sm_vek
new file mode 100755
index 0000000000000000000000000000000000000000..c247c237f62258d4c3abb0e6a8b8ec4f3d33d1e9
GIT binary patch
literal 32392
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
a%RgDK<i%quj`Ck>;~ccjiF(+I+J6JtmTxKm

literal 0
HcmV?d00001

diff --git a/hw/hw01/get_sm_vek.cpp b/hw/hw01/get_sm_vek.cpp
new file mode 100644
index 0000000..3305a1b
--- /dev/null
+++ b/hw/hw01/get_sm_vek.cpp
@@ -0,0 +1,84 @@
+#include <iostream>
+#include <vector>
+#include <sstream>
+#include <string>
+#include <cstdio> // sscanf 用
+
+// 設定情報を含む構造体
+typedef struct
+{
+    int min = -99;  // デフォルト最小値
+    int max = 100;   // デフォルト最大値
+    std::vector<std::vector<int>>;
+} setting;
+
+
+// **SUM(A:C) を処理する関数**
+void sum_range(const std::vector<int> &vec, char start, char end)
+{
+    int startIdx = start - 'A';
+    int endIdx = end - 'A';
+    int result = 0;
+
+    for (int i = startIdx; i <= endIdx; i++)
+    {
+        result += vec[i];
+    }
+
+    std::cout << "SUM(" << start << ":" << end << ") = " << result << std::endl;
+}
+
+// **1行を解析し、数値リストを作成する関数**
+std::vector<int> parse_line(const std::string &line, const setting &config)
+{
+    std::istringstream iss(line);
+    std::vector<int> vec;
+    std::string token;
+
+    while (std::getline(iss, token, ';'))
+    {
+        if (token.rfind("SUM(", 0) == 0) // `SUM(A:C)` の場合
+        {
+            char start, end;
+            if (sscanf(token.c_str(), "SUM(%c:%c)", &start, &end) == 2)
+            {
+                sum_range(vec, start, end);
+            }
+        }
+        else // 数値データの場合
+        {
+            int value = std::stoi(token);
+            if (!check_range(value, config))
+            {
+                std::cout << "Out of Range: " << value << std::endl;
+                return {}; // 範囲外なら空のベクトルを返す
+            }
+            vec.push_back(value);
+        }
+    }
+    config.data.push_back(vec);
+    return vec;
+}
+
+
+// **1行ずつ処理するメイン関数**
+void process_input(setting &config)
+{
+    std::string line;
+    std::cout << "入力してください (SUM(A:C) 形式も可):\n";
+
+    while (std::getline(std::cin, line))
+    {
+        if (line.empty()) continue; // 空行は無視
+
+        std::vector<int> numbers = parse_line(line, config);
+        print_vector(numbers); // 数値リストを出力
+    }
+}
+
+int main()
+{
+    setting config; // 設定(min/max の範囲)
+    process_input(config);
+    return 0;
+}
diff --git a/hw/hw01/main b/hw/hw01/main
index 9bd94d7ed53194270071f83be2403616ad54da53..f4a00b5096d6db7fb20171421b93fb8bace12525 100755
GIT binary patch
literal 54152
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%0AMBH6@U$Z3BUy4LBREZi;y911zZ8R2k>^l
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

literal 43608
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
T+a-?RS>NNS^KAueN$vjtU?wGL

diff --git a/hw/hw01/main.cpp b/hw/hw01/main.cpp
index b2d1f30..7087a9c 100644
--- a/hw/hw01/main.cpp
+++ b/hw/hw01/main.cpp
@@ -8,214 +8,187 @@
 
 typedef struct setting
 {
-    int min = 0;
-    int max = 0;
-    int width = 2;
+    int min = -9999999;
+    int max = 98888999;
+    int width = 3;
     std::string align = "left";
-    std::vector<int> numbers;
-    int count = 0;
-    int suma = 0;
-}setting;
+    int stretch = 0;
+    int header = 1;
+    std::vector<std::vector<int>> numbers;
+    int max_size_vector = 0;
+} setting;
+
+void get_invalid_config_102(setting& a)
+{
+    std::cout<<"Invalid configration"<<std::endl;
+    exit (102);
+}
 
 void get_config(setting &a)
 {
     std::string line;
-    std::cout<<"start configration"<<std::endl;
+    std::cout << "start configration" << std::endl;
     std::getline(std::cin, line);
     std::istringstream iss(line);
-
     std::string setting;
-    
-    while(iss>>setting)
-    {
+
+    while (iss >> setting)
+    { 
         std::istringstream setting_stream(setting);
         std::string key;
         std::getline(setting_stream, key, '=');
 
-        if(key == "config.min")
+        if (key == "config.min")
         {
             setting_stream >> a.min;
         }
-        else if(key == "config.max")
+        else if (key == "config.max")
         {
             setting_stream >> a.max;
+            if(a.min > a.max)
+                get_invalid_config(a);
         }
-        else if(key == "config.width")
+        else if (key == "config.width")
         {
             setting_stream >> a.width;
+            if(a.width < 0)
+                get_invalid_config(a);    
         }
-        else if(key == "config.align")
+        else if (key == "config.align")
         {
             setting_stream >> a.align;
         }
-        else if (key == "=")
+        else if (key == "config.stretch")
         {
-            break;
+            setting_stream >> a.stretch;
+        }
+        else if (key == "config.header")
+        {
+            setting_stream >>a.header;
         }
     }
-
 }
 
-void sum(setting& a, int range)
+void sum(setting &a,std::vector<int> numbers, int range)
 {
     int suma = 0;
-    std::cout << range << std::endl;
     for (int i = 0; i < range; i++)
     {
-        suma += a.numbers[i];
+        suma += numbers[i];
     }
-
-    a.numbers.push_back(suma);
+    numbers.push_back(suma);
 }
 
-int get_numbers(setting& a)
-{
-    std::string line;
-    std::cout << "zadejte cisla: ";
-
-    std::getline(std::cin, line);
-    std::istringstream iss(line); 
-
-    std::string token; 
+int get_numbers(setting &a, std::string line)
+{  
+    std::istringstream iss(line);
+    std::string token;
     std::string range;
-    int tmp = 0;
-   
+    std::vector<int>vector;
+    int number_of_elements = 0;
+
     while (std::getline(iss, token, ';'))
     {
         if (token.rfind("SUM(", 0) == 0)
         {
+
             char start, end;
-            int range = 1;
+            int range = 0;
             sscanf(token.c_str(), "SUM(%c:%c)", &start, &end);
-            range = end - start;
-            sum(a, range);
+            range = end - start +1;
+            if(range > number_of_elements)
+            {
+                std::cerr<<"Invalid input"<<std::endl;
+                return 101;
+            }
+            sum(a, vector, range);
         }
         else
         {
-            tmp = std::stoi(token);
+            int tmp = std::stoi(token);
             if (tmp > a.max || tmp < a.min)
             {
-                std::cout << "Out of range" << std::endl;
-                return 2;
+                std::cout << "Out of Range" << std::endl;
+                return 100;
             }
-            a.numbers.push_back(tmp);
+            vector.push_back(tmp);
+            number_of_elements++;
         }
     }
-
-    for (int num : a.numbers)
-    {
-        std::cout << num << " ";
-    }
-    std::cout << std::endl;
+    a.numbers.push_back(vector);
+    if(number_of_elements >  a.max_size_vector)
+        a.max_size_vector = number_of_elements;
+    
     return 0;
 }
 
-int column = 1;
-void print_prvi_hore(setting &a)
-{   
+void print_roof(setting &a)
+{
     std::cout << "+";
-    for (int i = 0; i < a.numbers.size() + 1; i++)
+    for (int i = 0; i < a.max_size_vector + 1; i++)
     {
-        std::cout << "-----+";
+        for (int j = 0; j < a.width + 2; j++)
+            std::cout << "-";  
+        std::cout << "+";
     }
-    std::cout << "\n";
+    std::cout << std::endl;
 }
 
 void print_ABC(setting& a)
 {
+    char letter = 'A';
+    std::cout << "| " << std::setw(a.width + 2)<< " |";
+    
+    std::cout<<(a.align == "left" ? std::left : std::right);
+    for (int j = 0; j < a.max_size_vector; j++)
+        std::cout << " " << std::setw(a.width) << letter++ << " |";
 
-    char posize = 'A';
-    if (a.align == "left")
-    {
-        for (int j = 0; j < a.numbers.size() + 1; j++)
-        {
-            {
-                if (j == 0)
-                    std::cout << std::left << std::setfill(' ') << std::setw(a.width) << "|";
-
-                else
-                    std::cout<<std::left<<"|"<<" "<<std::setfill(' ')<<std::setw(a.width)<<posize++;   
-            }
-        }
-    }
-    else if(a.align == "right")
-    {
-        for (int j = 0; j < a.numbers.size() + 1; j++)
-        {
-            {
-                if (j == 0)
-                    std::cout << std::right << "|" << std::setfill(' ') << std::setw(a.width);
-
-                else
-                    std::cout<<std::right<<"|"<<std::setfill(' ')<<std::setw(a.width - 2)<<posize++<<" ";
-            }
-        }
-    }
-    std::cout << "|" << std::endl;
-    print_prvi_hore(a);
+    std::cout<<std::endl;
+    print_roof(a);
 }
 
-
-void print_num(setting& a)
+void print_all_vectors(setting& a)
 {
-    if (a.align == "left")
+    for(size_t i = 0; i < a.numbers.size(); i++)
     {
-        std::cout << std::left <<"|"<<" "<< std::setfill(' ') << std::setw(a.width)<< column++;
-        for (int i = 0; i < a.numbers.size() + 1; i++)
-        {
-            if (i < a.numbers.size() + 1)
-                std::cout << std::left<< "|" << " " << std::setfill(' ')<<std::setw(a.width) << a.numbers[i];
-
-            else if (i > a.numbers.size() + 1)
-            {
-                std::cout << std::setfill(' ') << std::setw(a.width) << "|";
-                print_prvi_hore(a);
-            }
-        }
+        std::cout<<"| "<<std::setw(a.width)<<i + 1<<" |";
+        std::cout<<(a.align == "left" ? std::left : std::right);
 
-        std::cout << "|\n";
-        print_prvi_hore(a);
-    }
-    else if(a.align == "right")
-    {   
-        std::cout<<std::right<<std::setfill(' ')<<"|"<<std::setw(a.width - 2)<<column++<<" ";
-        for (int i = 0; i <  a.numbers.size() + 1; i++)
+        for(int j = 0; j < a.max_size_vector; j++)
         {
-            if (i < a.numbers.size() + 1)
-            {
-                std::cout << std::right << std::setfill(' ') << "|" << std::setw(a.width - 2) << a.numbers[i] << " ";
-            }
-            else if (i > a.numbers.size() + 1)
+            if(j < a.numbers[i].size())
             {
-                std::cout << std::right << " " << std::setfill(' ') << std::setw(a.width) << " " << "|";
-                print_prvi_hore(a);
+                std::cout<<" "<<std::setw(a.width)<<a.numbers[i][j]<<" |";
             }
+            else
+                std::cout<<" "<<std::setw(a.width)<<" "<<" |";
         }
-
-        std::cout << "|\n";
-        print_prvi_hore(a);
+        std::cout<<std::endl;
+        print_roof(a);
     }
 }
 
-void pre_print(setting& a)
+void get_line(setting& a)
 {
-    print_prvi_hore(a);
-    print_ABC(a);
-    print_num(a);
+    std::string line;
+    std::cout<<"zadejte cislo"<<std::endl;
+    while(std::getline(std::cin, line))
+    {
+        get_numbers(a, line);
+    }
 }
 
-
-
 int main()
 {
     setting a;
+    //std::vector<int> numbers;
     get_config(a);
-
-    std::cout<<a.min<<" "<<a.max<<" "<<a.width<<" "<<a.align<<std::endl;
-
-    get_numbers(a);
-
-    pre_print(a);
+    //std::cout << a.min << " " << a.max << " " << a.width << " " << a.align << std::endl;
+    get_line(a);
     
+    print_roof(a);
+    print_ABC(a);
+    print_all_vectors(a);
+
     return 0;
-}
\ No newline at end of file
+}
diff --git a/hw/hw01/print2 b/hw/hw01/print2
index 40f64831daedb55a5873c10e9fc0a184b38e533d..9f8dc50d1e10bc4cd26f5f0174a7f740f4c40613 100755
GIT binary patch
delta 5290
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
S;^>D?{ZzrNcQ$N#SN}hS7p;H*

delta 5239
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

diff --git a/hw/hw01/print2.cpp b/hw/hw01/print2.cpp
index 51cb656..e088649 100644
--- a/hw/hw01/print2.cpp
+++ b/hw/hw01/print2.cpp
@@ -3,7 +3,8 @@
 #include <vector>
 
 int column = 1;
-int width = 3;
+int width = 5;
+/*
 void print_prvi_hore(int &a)
 {
     std::cout << "+";
@@ -13,10 +14,20 @@ void print_prvi_hore(int &a)
     }
     std::cout << "\n";
 }
+*/
+void print_prvi_hore(int& a)
+{
+    std::cout<<"+";
+    for(int i = 0; i < width-1; i++)
+    {
+        std::cout<<std::setw(width)<<std::setfill('-')<<"+";
+    }
+    std::cout<<"\n";
+}
+    
 
 void print_ABC(int &s, std::string &align)
 {
-
     char posize = 'A';
     if (align == "left")
     {
@@ -97,7 +108,7 @@ int main()
 
     int size_first = first.size()+1;
     std::string align = "right";
-    std::vector<int> second = {10, 20, 30, 40, 50, 60};
+    std::vector<int> second = {10, 20, 30, 40, 50, 98};
     int size_second = second.size() + 1;
 
     (size_first > size_second) ? print_prvi_hore(size_first) : print_prvi_hore(size_second);
diff --git a/hw/hw01/print3 b/hw/hw01/print3
new file mode 100755
index 0000000000000000000000000000000000000000..1dc2c98269ffe0e62fb929a64008a443288640f9
GIT binary patch
literal 32536
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

literal 0
HcmV?d00001

diff --git a/hw/hw01/print3.cpp b/hw/hw01/print3.cpp
new file mode 100644
index 0000000..182802b
--- /dev/null
+++ b/hw/hw01/print3.cpp
@@ -0,0 +1,83 @@
+#include <iostream>
+#include <iomanip>
+#include <vector>
+
+int width = 3;
+int col = 1;
+std::string align = "left";
+
+void print_roof(int &size)
+{
+    std::cout << "+";
+    for (int i = 0; i < size; i++)
+    {
+        // std::cout<<std::string(width + 2, '-')<<"+";
+        for (int j = 0; j < width + 2; j++)
+        {
+            std::cout << "-";
+        }
+        std::cout << "+";
+    }
+    std::cout << std::endl;
+}
+
+void print_ABC(int &size)
+{
+    char letter = 'A';
+    // std::cout << "|";
+    std::cout << "| " << std::setw(width + 2) << "|";
+    if (align == "left")
+        for (int i = 0; i < size; i++)
+        {
+            std::cout << std::left << " " << std::setw(width) << letter++ << " |";
+        }
+
+    else if (align == "right")
+    {
+        for (int i = 0; i < size; i++)
+            std::cout << std::right << " " << std::setw(width) << letter++ << " |";
+    }
+
+    std::cout << "\n";
+    print_roof(size);
+}
+
+void print_num(const std::vector<int> &numbers, int &size)
+{
+    std::cout<<"| "<< std::setw(width)<<col++<< " |";
+    if (align == "left")
+    {
+        //std::cout<<"| "<< std::setw(width)<<col++<< " |";
+        for (int i = 0; i < size; i++)
+            std::cout << std::left << " " << std::setw(width) << numbers[i] << " |";
+    }
+    else if (align == "right")
+    {
+       // std::cout << "| " <<std::setw(width) <<col++<< " |";
+        for (int i = 0; i < size; i++)
+            std::cout << std::right << " " << std::setw(width) << numbers[i] << " |";
+    }
+    std::cout << "\n";
+    print_roof(size);
+}
+
+int main()
+{
+
+    std::vector<int> first = {1, 2, 3, 4, 5};
+
+    int size_first = first.size();
+    std::string align = "right";
+    std::vector<int> second = {10, 889, 10, 50, 50, 98};
+    int size_second = second.size();
+
+    (size_first > size_second) ? print_roof(size_first) : print_roof(size_second);
+
+    (size_first > size_second) ? print_ABC(size_first) : print_ABC(size_second);
+
+    print_num(first, size_first);
+
+    print_num(second, size_second);
+
+    return 0;
+}
\ No newline at end of file
diff --git a/hw/hw01/print4 b/hw/hw01/print4
new file mode 100755
index 0000000000000000000000000000000000000000..e69b0ceae768b6b41091f98e7127d7d86c405ecb
GIT binary patch
literal 53200
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

literal 0
HcmV?d00001

diff --git a/hw/hw01/print4.cpp b/hw/hw01/print4.cpp
new file mode 100644
index 0000000..c2a2b15
--- /dev/null
+++ b/hw/hw01/print4.cpp
@@ -0,0 +1,132 @@
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <vector>
+#include <cstring>
+#include <cstdio>
+#include <iomanip>
+
+typedef struct setting
+{
+    int min = -9999999;
+    int max = 98888999;
+    int width = 3;
+    std::string align = "left";
+    std::vector<std::vector<int>> numbers;
+    int max_size_vector = 8;
+    int stretch = 0;
+} setting;
+
+void print_roof(setting &a)
+{
+    std::cout << "+";
+    for (int i = 0; i < a.max_size_vector + 1; i++)
+    {
+        for (int j = 0; j < a.width + 2; j++)
+            std::cout << "-";
+        std::cout << "+";
+    }
+    std::cout << std::endl;
+}
+
+void print_ABC(setting &a)
+{
+    char letter = 'A';
+    std::cout << "| " << std::setw(a.width + 2) << " |";
+
+    std::cout << (a.align == "left" ? std::left : std::right);
+    for (int j = 0; j < a.max_size_vector; j++)
+        std::cout << " " << std::setw(a.width) << letter++ << " |";
+
+    std::cout << std::endl;
+    print_roof(a);
+}
+
+void print_void(setting &a)
+{
+    std::cout << " " << std::setw(a.width + 2) << "|";
+}
+/*
+void print_all_vectors(setting &a)
+{
+    for (size_t i = 0; i < a.numbers.size(); i++)
+    {
+        std::cout << "| " << std::setw(a.width) << i + 1 << " |";
+        /*
+        if (a.numbers[i].empty())
+        {
+            for (int j = 0; j < a.max_size_vector; j++)
+                print_void(a);
+
+            std::cout<<std::endl;
+            print_roof(a);     
+                
+        }
+        
+        //else
+        {
+            std::cout << (a.align == "left" ? std::left : std::right);
+             /*
+            for (int j = 0; j < a.numbers[i].size(); j++)
+                std::cout << " " << std::setw(a.width) << a.numbers[i][j] << " |";
+            /ここがわからなかった
+            for(int j = a.numbers[i].size(); j < a.max_size_vector; j++)
+                std::cout<<" "<<std::setw(a.width)<<" "<<" |";
+            
+           for(int j = 0; j < a.numbers[i].size(); j++)
+           {
+            std::cout<<" "<<std::setw(a.width)<<a.numbers[i][j]<<" |";
+
+            if( j > a.numbers[i].size() && j < a.max_size_vector)
+            {
+                std::cout<<" "<<std::setw(a.width)<<" "<<" |";
+            }
+           }
+            std::cout << std::endl;
+            print_roof(a);
+     
+        }
+        //std::cout << std::endl;
+    }
+}
+*/
+void print_all_vectors(setting& a)
+{
+    for(size_t i = 0; i < a.numbers.size(); i++)
+    {
+        std::cout<<"| "<<std::setw(a.width)<<i + 1<<" |";
+        std::cout<<(a.align == "left" ? std::left : std::right);
+
+        for(int j = 0; j < a.max_size_vector; j++)
+        {
+            if(j < a.numbers[i].size())
+            {
+                std::cout<<" "<<std::setw(a.width)<<a.numbers[i][j]<<" |";
+            }
+            else
+                std::cout<<" "<<std::setw(a.width)<<" "<<" |";
+        }
+        std::cout<<std::endl;
+        print_roof(a);
+    }
+}
+
+void set_numbers(setting &a)
+{
+    a.numbers =
+        {
+            {1, 2, 3, 4, 5},
+            {2, 34, 75, 75, 78, 2, 1, 3},
+            {2, 3, 4, 5}};
+}
+int main()
+{
+    setting a;
+
+    set_numbers(a);
+    print_roof(a);
+    print_ABC(a);
+    print_all_vectors(a);
+
+    return 0;
+}
diff --git a/hw/hw01/vector b/hw/hw01/vector
new file mode 100755
index 0000000000000000000000000000000000000000..a382be8b73e87be9247ec819a93c74b4df656558
GIT binary patch
literal 53136
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

literal 0
HcmV?d00001

diff --git a/hw/hw01/vector.cpp b/hw/hw01/vector.cpp
new file mode 100644
index 0000000..5003709
--- /dev/null
+++ b/hw/hw01/vector.cpp
@@ -0,0 +1,211 @@
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <vector>
+#include <cstring>
+#include <cstdio>
+#include <iomanip>
+
+typedef struct setting
+{
+    int min = -9999999;
+    int max = 98888999;
+    int width = 3;
+    std::string align = "right";
+    std::vector<std::vector<int>> numbers;
+    int count = 0;
+    int suma = 0;
+    int max_size_vector;
+    int stretch = 0;
+} setting;
+
+void sum(setting &a, std::vector<int> &numbers, int range)
+{
+    int suma = 0;
+    std::cout << range << std::endl;
+    for (int i = 0; i - 1 < range; i++)
+    {
+        suma += numbers[i];
+    }
+
+    numbers.push_back(suma);
+}
+/*
+void print_num(setting &a)
+{
+    int col = 1;
+    std::cout << "| " << std::setw(a.width) << col++ << " |";
+    if (a.align == "left")
+    {
+        for (int i = 0; i < numbers.size() +1; i++)
+            std::cout << std::left << " " << std::setw(a.width) << numbers[i] << " |";
+    }
+    else if (a.align == "right")
+    {
+        for (int i = 0; i < numbers.size(); i++)
+            std::cout << std::right << " " << std::setw(a.width) << numbers[i] << " |";
+    }
+    std::cout << std::endl;
+}
+*/
+
+void print_all_vectors(const setting &a)
+{
+    for (size_t i = 0; i < a.numbers.size(); i++)
+    {
+
+        std::cout << "| " << std::setw(a.width) << i + 1 << " |";
+        if(a.align == "left")
+        {
+            for(int j = 0; a < a.numbers[i].size(); j++)
+            {
+                std::cout<<std::left <<" "<<std::setw(a.width)<<a.numbers[i][j] <<" |";
+            }
+            print_roof(a);
+        }
+        
+        if (a.align == "right")
+        {
+            for (int j = 0; j < a.numbers[i].size(); j++)
+            {
+                std::cout << std::right << " " << std::setw(a.width) << a.numbers[i][j] << " |";
+            }
+        }
+        std::cout << std::endl;
+    }
+}
+
+int get_numbers(setting &a, std::string line)
+{
+    std::istringstream iss(line);
+    int number_of_elements = 0; // to see which vector has more elements
+    std::string token;
+    int tmp = 0;
+    std::vector<int> vector;
+
+    while (std::getline(iss, token, ';'))
+    {
+        if (token.rfind("SUM(", 0) == 0)
+        {
+            number_of_elements++;
+            char start, end;
+            int range = 0;
+            sscanf(token.c_str(), "SUM(%c:%c)", &start, &end);
+            range = end - start;
+            sum(a, vector, range);
+        }
+        else
+        {
+            tmp = std::stoi(token);
+            if (tmp > a.max || tmp < a.min)
+            {
+                std::cout << "Out of Range" << std::endl;
+                return 100;
+            }
+            vector.push_back(tmp);
+            number_of_elements++;
+        }
+    }
+
+    number_of_elements > a.max_size_vector ? a.max_size_vector = number_of_elements : void(0);
+    a.numbers.push_back(vector);
+    number_of_elements = 0;
+    // print_num(a, numbers);
+    return 0;
+}
+
+void get_line(setting &a)
+{
+    std::string line;
+    std::cout << "zadejte cislo" << std::endl;
+
+    while (std::getline(std::cin, line))
+    {
+        get_numbers(a, line);
+    }
+}
+
+int main()
+{
+    setting a;
+    get_line(a);
+    // get_numbers(a);
+
+    std::cout << "biggest vector has size of " << a.max_size_vector << std::endl;
+
+    print_all_vectors(a);
+    return 0;
+}
+
+/*
+void print_num(setting &a)
+{
+    int col = 1;
+    std::cout << "| " << std::setw(a.width) << col++ << " |";
+    if (a.align == "left")
+    {
+        for (int i = 0; i < a.numbers.size(); i++)
+            std::cout << std::left << " " << std::setw(a.width) << a.numbers[i] << " |";
+    }
+    else if (a.align == "right")
+    {
+        for (int i = 0; i < a.numbers.size(); i++)
+            std::cout << std::right << " " << std::setw(a.width) << a.numbers[i] << " |";
+    }
+    std::cout << std::endl;
+    print_roof(a); 
+}
+*/
+
+/*
+void print_all_vectors(setting &a)
+{
+    for (size_t i = 0; i < a.numbers.size(); i++)
+    {
+
+        std::cout << "| " << std::setw(a.width) << i + 1 << " |";
+        if(a.align == "left")
+        {
+            for(int j = 0; j < a.numbers[i].size(); j++)
+                std::cout<<std::left <<" "<<std::setw(a.width)<<a.numbers[i][j] <<" |";
+            std::cout<<std::endl;
+            print_roof(a);
+        }
+        
+        if (a.align == "right")
+        {
+            for (int j = 0; j < a.numbers[i].size(); j++)
+                std::cout << std::right << " " << std::setw(a.width) << a.numbers[i][j] << " |";
+            std::cout<<std::endl;
+            print_roof(a);
+        }
+       
+    } 
+    std::cout << std::endl;
+}
+
+void print_ABC(setting &a)
+{
+    char letter = 'A';
+    std::cout << "| " << std::setw(a.width + 2)<< " |";
+    /*
+    if (a.align == "left")
+    {
+        for (int j = 0; j < a.max_size_vector ; j++)
+            std::cout << std::left << " " << std::setw(a.width) << letter++ << " |";
+    }
+    else if (a.align == "right")
+    {
+        for (int j = 0; j < a.max_size_vector; j++)
+            std::cout << std::right << " " << std::setw(a.width) << letter++ << " |";
+    }
+    
+    std::cout<<(a.align == "left" ? std::left : std::right);
+    for (int j = 0; j < a.max_size_vector; j++)
+        std::cout << " " << std::setw(a.width) << letter++ << " |";
+
+    std::cout<<std::endl;
+    print_roof(a);
+}
+
+*/
diff --git a/hw/hw01/width b/hw/hw01/width
new file mode 100755
index 0000000000000000000000000000000000000000..121c1df4ab128fe511bfc2a34132459151e6d8d2
GIT binary patch
literal 25640
zcmeHQdwf*YoxhWZM2aRTC}LZu_=+MSlK_GiO$dV%Npwtzr9OI@%uL8gW+t7v1HlEw
z23^LOHu{m)wXU^wKgw3OWi87GZEeG&1X~}mwMwhiXw{t<)cDvn>udJ=JLh-q+_{-S
zWq1GD92<W3{9fmGe&=@{_c6a-?`~LD;BaWF6lxb}R9khN#MCgM{3^ZxsL>W`$KYS5
zc8Ycs>O}%4=`|97D$BuwY*@nhLO_z6K^HmTmnB+LP+3Tj<nooFV<bgEtxVQQu9z;l
zZilZOFZmQybhEumN!M&}ggd05RgQc!W3iN*(U=WOxZgFZGi(>Ri{#2#uAJo*EMtEv
zsQgK4=x-tGwL_cPnq97)<?L`NbW%}}+Mv?>nh`jX_Pi|Dzy{gjT|CeVs`f5}9Qoz*
z7IvrB#O>u9hZOr$L2h1~+YxGAFmG;0U`|IUlIWV#wQ#|l1@kK6(TXZz0@>xnAH~!~
zm$Yb5(@!{dqgJp<)|Eb@O=CLo&)W3p15Y|Dhu*vI52w0beXQlqYks_qc*t&&As#BE
zk4+SHx}JeQ;*tKiRa_H}%3$!x@bo*T)XCcTf4vaoshvgKfLbp6CwchYFf14U5A*QX
z!th-Df63GCZ}RB*AP@e6Jou;bw0lk-`|r$S&z3xTmgV6O<*{dRo_24_!@n#Kp5nxb
zKYRH~9{o_0lmDDN_-{bZEW2{l&xIeRYA0(oUP&w?#Z+{CbvPQ)<AyJ0=(?uYuV~Z*
z!B}v0C~gE}D;n!MqLJVVUu#ED(sEO-Xf`_H_05LM<!|@JbR*^q8S#3*+ua0Qb*nEP
z^6SyK5exdl_5KyQyLrCu*K|l#RqDFY9*eHiJA#qbM!O!2#iB9qa!G|w|L0S>LSIn{
zwF~rSW4_)TG}a02x#gREc`Rck=ju(%FKIT;)pdVYm&@g<lJ>*=P-Jy|^E@5auW;#Z
zH`)kvc-MvjFKLc;#N8p$stb~`Pp!Uy?(67?`qv6Vl`9mD>(Ca|u}sB$vGsZ=5;8#4
zS9f*koxxZ<8u4|6jP?53N-420OI0l9Tdzlg%2`tD7j?XJZe*P_J6|_*_+9#Ksmm?f
zo#&4x4AJ#3tix5UH|lVUuR{;`44+V#-{W~raaBQ$KN`WvB>aXuOhI#GYHDea^!5-U
zzs}|M`kR(FS7S1?MAn5O0lg_0PlOTwG)w$zbbtFAz0DWu(89rRIJ%Yy7*0RWp|CF$
z0mk3u)7wHcn%4$3kmE+cKYKQ9L<^|8+7EuJxv1us_>1c5^y-RA?V^VIC3SjL#XR$>
zI&)c7F<+}&xw3Xiz3!^0mK-ZrLT+9~b(Muuu_%jHWvjZZR9XlM@Lv)3#iQ_Vk*G}q
zED_iO?P%<1lX30PzJxyqYFJQE=sJNlN3Cn#GuD4e15Yn-l3u8FGrb0gX`v8KdL`Oc
z#_hQE``8YPwI6XkF*9^D?Vdk1<&V<Zm`3{k`13W`x+iNp8MkEY2QcJlZ8z7~KmBvG
zKS>)@bwNK$`zzPKE$T(uA+8%|-G(Dof%XyVRMdG-owI8AeCg!#oWg62FX8o6;Z^<M
zrBWa5^=gkN%#a07=LS_$7CfCdR2jA4Pf$p}F$?}g3w{RML(98$-&X5BoqJBQ@OxR$
zB;eGRK;)Gcyc}sMw90~KmkC0<1uxF)l3nYx;N`hT61psSYFm{}7QFH)(Y9Fd2oSUM
zS@4rhtft*z!6P8da*qW+#l&jbHVYmBYL@L5{IMoh({@?#r51d@1wYk-KVZRg=m_ed
z1wY-wKXEzXfx~&=z0$9K=;=OG;^`@V`9e+e+}Ljvqz66S`%3l-vGn|zK&MatGX5<+
zrA8zEcA^Zwl1``F`b3>3{O}(#b(-kIdop#J;KL7P>a<`D|0GkVi9UQ=rcM)l_&b?8
zP3+-VrcM)jxHVI!i9FntsnY}=UXrQP#2v26)M>&F&&t$kq7EOIsnY}<F38krVh+Fi
zso7uJq=sKH>*>?Kdx564m7cOx6aGn`{-3yex7OdX)nB*OU$oVqwbh@r)%V-#zqZwP
z+Uh^E)$g;_@3z&yZ>xXTR=>$szs^=)n^kwcS)Y9RTb|@Ap6*viy(`?Ve%E83-o@7=
z4ARrD1nc{46{V+ahEoxMy^E8;czTP!LtxREF&&|K0bL_Bk4_Jjp0bJf_A&(jHwFLv
zCIV-D>Pe1zcE5F@XZKj4$Fbk@^ryx&C^&`{l%$8`xF~sw-%X3%7(XpByT#MJc+b~y
z=}Eq3O!4$AejSz6Nf_u<0MW3&_$%OZTn$;XeUcwu2O?dxK&~0HX=QTbg8@%Z(dp$v
zmpkR^M~D6a&$2wp{kR%{T2FEyH5Zx(+&jRejjZ+bx_{wGx_9;U^%SoKLwA3H$3N=n
zZTST#{hs90kIWI;22xWnKO~NnUCYY;@JTxDN$vrrk{e1smwJMbLVO@~gS<u~1F3(*
zl<Mnt?{M_EcbxBjaKm>X_R-18zB5_n_aM>d>2aq5p4qZ9#-$@3>ZvEWSE)T4Oe2#r
zNTI)l^m~#AJv}WXJWY7QC{Ar88_@or08^b*>A8CBvAtI3l_xj8u-`pW3yap67HvIW
zdhC;r$zz9v$J)WM+~kNe$MfKTbv?yZK%k|+LzKbk$(K@7McaEyce+QCySsNgwlt2E
z{<@!N&!whI8hK%+^a7B5P}S`|1Rotb-~GadK2V=yYHx8Nx3>mNJ?<CK(udFiZ;k7Z
zC%N%pGVu(ge_~4i_B`32Im+72KtRV6SSqEpenHvYQyc-M*Xu}54-yNkeJb_$f<{B#
zIMcNDm5)r<43EG;u-fCt0Jsm5!&kx$o<)00Z|mROZ$uzDl_h(N7eOzv{1^&^=f)NZ
zTWU>Po?{AW9F!WLC5hQk+Qas~CwR!FhjA{XIEM!>0dnMO;O=EyZ}IP;oMfw2Yd6c*
z{)kOO_B>>23THGGnaC?L$hSXK1N2OH%CX3OsPvYjFcs0>TxRMmz7p!Gy}jV=aX*8r
zCV0;_PPHwyE1Eqw9NGfEVd75ViQ9P4_1J*BpSHIF_deRy2HXc|GaGO}j;;d?($?ka
zZS40X4?M!x_jr=MoiL*h0n>;Ic><GV6InrzXK)SdK&loh`k<b6E2yW_I@EtvfXClQ
zqflQZYR|L+(0r>;?yG&2c1KU|jqTLa<c(e2(pIWBBwuexzTJ>~xgj}%ke4kz?MY(3
zVtmm7Q*I!&2d2P6Y1bmqy89i;8)=<W2A-ynqN!fd0u%_AqzHftScw3*u>(>);$O7$
zE_qs2X2ID#TZv9hNvRjDxO*h-cfkD;9W%Z2u&`EI_b<2>Yso=#Eh*i6JD7)W#y^>*
zN4WJ3F!R!rVaL)_@L%Mwfz%a%rU-j+Ahm;}MvgZLZlP<Q#fWmcwpjtS4~$8*g;1Ni
zn<_W#qcFO%_Nv;euQpe<<i?MC+#hG^SQN%Q$;2pT(^yX#{vGYn7VX)16kUxJ5!S-n
zeaH#^6tF4m5MxB8o{Yl#eSNmoQ!pkIL&-r;vT<;W`vt5>EIE+6`vWp|Hxz)n$CG@L
z*2O;qS^Dc1Fg6a!CV<8;0zL9o<q*;IKq^E72`7Ml9Q8G8wG(|J+j_h>PZGq2j8+D*
z85dl=SDY1Ti?sHgczRl}WxrD3aSUeqOxx%}FrukZ4~59P=y|^<*>ZroW#3$Bk?Uze
zpF~tT;TJ?3xCc`A(RF6Cx<ORQ0Z{xG;edhEuYeq>%JfupuUK%B+N=%iSN};47)VVc
zPiF0m#i@IUmhF-5LzSWvyb3R+80u+()+TtU5%6eq2ZIU^h=BzZo)-Q1Sj<osO(3Q$
zV@*Env-vcuo+oA=#{gPm25v6P9uG1_H2=@=fVD-%DMy%Mb}VazDWU{U4n76fK<cOD
zM#AEH6}A1CEe@m>OHXLzXTT&gXrB-<w^urbHSQilxWIk1*_v@Bj$V-5g^9HtKHWAx
zOn^pQ^tiVH4));!K|--Z^T9m?IOLg)I^wkthy!R~7m!dmkfKQ~yND1J4q6~W1k3wN
zsi#CYTfkT#_(fD7kWo!u0l`Zi6PoC-DQ6*+1Dn_e3M|91$W*hWgsh{`<AYams`h;q
zUS^NQ$iah|c?0KF0(%fH7=!{q(Jks8IdlkcloSJwVT0n}q8X4iGTn!2Of59$x;GAL
zMkOmGMWm1v!50(;E%<9>#bVsAq4m@nJ+$75v92k}SW6@3Q6rXnv<5MgpF$%CxzQoo
zRtYnZT1ehH-@U8!Had(7)SI-oZ+_l572H|QD|!#k>n%PV&r(P<_^z0~yX@2ZuL7SH
zRWQ*B6XCJM5d1Kt8M8?__n#a}eW%WiK7xUTdf|X4$fYC2y9kw8qFLFPSo)JK&_Zi2
zp!6Q_Lii=SP#G+cLbO<l`6NQ{Z7}BY@&Gj}C*D9!iRGGZT{SEewAzWaSdR1otMkWj
zyRr+Dj>;+M-yj-104V2&3?$iqlM91FL)43<t(Rg$823YA0<35mGxu%mnCst3r?Wg#
zX}UMra&W)<Q^$UH+5ssHdDf2f8uVEN*&{hty^MQlpn9j>NS&quV#A&r&9cCBEk$&h
z@Gj=>qCN3^yK$Dm;3sE{SzLC$dk6>Z(w+UdXD!`IC+?Xh^+H7KP`o%*2pdvQzAeIV
z$V2NH!m<KL>u}1@vvg-%q+ps^d_wc7-0DpjhX@@=olOqFHYjWzNS!RIybWT9ev$4f
z=<%{``{GHP2^TshTjv7?3_1@|6W@e5&Znxyh1o5hg=zzy08mo{DLhPqIk;IMQ4uTO
zB24!_Cyq^-)<n=}FK^>48aJcH&nD{F__%?gqn4(=sH@SgJq&2?NYUOQ!l8TPn4|PZ
z90kVL(A-!i6tU+Ew~5)l?Jb<NW@2p_b0m(JtAXhkdX}3l3X)?mcXwp)Cd+t!!^D!z
zlRPMzC=(u-@W6xzCOk0Vfe8;xcwoW<6CRlG!2fFxIQaXk+4vS}gXYwn8?+5hc*O6E
zM52b%k1s8apc5aRop;{apx=nboE^T{>R`-iwEH5?u&+yx<HNM_vor_F$%W_NfyW;7
z(&Cwy(&@)>{r*roP46;_UQVZ{;AVB&E9vwO)IR|Xpnl$~>GUmtlV3}xw*x-(I{1li
zIGv{V52pb>1Ly^G;(2HnU=83HAbqRud?TIS0=N`#8{p)Tbeg`|3IM(jXaG*bi<ZrR
z^8g<NTmkqjpaEEZD4o6o@B+YHfL(wG0k3&8o&Feb1K^kOVrLKF*8!*DUhOKtvjH~%
zJ_&da;K{g??+5e(4gp>ZNFQiF2<QZygFE{gz&5~DfY$<U0{l7PJ%BF)_5;@A;m8ot
z0rB~n_88!4fX@Ri1+2#ds&>FD0k;5#0k;9(4R`=>2Ve^DHNX-)_zB~=S2>{i7R+&N
zlji6ubDTV7Qb`}if$(@;tgXa2odKvVog^L+orcSKRDTingHJoQY}v6hE-wAjx{^)W
zg)<kOU47atB9r`8_!|SC5F{iD;SKza5}xF_P+Pa)FNJXy{O)7RZYrod=BSHc5b#8&
z;<(n^AS|8q!^BtMUS%)YMSr)#-o?;c^c<Y6bhx_<3+Fn7A}4s>$KQR3yFoxJPr)A9
zmJ{e1(9wig+(tH9_1r1-kUd`q%>#SS!L`ZbmpaOU+JV2Fe@mxZ5vN7E#h!-V!dr^E
ziwheI1T*Q{0$t_MMRKMtUFxEKX`okvz6qB_b1b^hw}P1DBRzxQ+XB8bac%1PR)#L#
z4S_Cns(xLWX{R0Xw}ZZ)+IhMtql4PnCHb77QH)gmdpdmu@$Izm6<j8m$d;?n?{@Ie
zXELTO%QCiX0Da|Q=y!qc0X>&bNdK=u_kvCju}uBGjE(e`?h4Q^1G(q~tBoGhMtlmY
zZ2^z?Hct7YA!8%0E!TmLx5b$@;EOe2aRNna&K;n?W1|=REu$j<p0-pvExwmjZPaJz
zn?YX*y4$K_Lx%oOWCQ3;R(gR{Kz`T<`gYL8_nS(8qm*}o{wnDAfqt)5p2l-)ri~J~
z=M1c!;xkmGqhP6Epf<`uZw7t7RYylg-UE6&=()y%<l8}yflhmXIaZ;J{1(tRgMNdR
zUeIN>zYX-)K+hV7&W!v4&_4xTeEX>Ezc@orf&MP&`Rp&jl$wOSVy?CQwv2o^=qG@_
z#!4?}HSP0&?gQOrrMF9YCvfec$3VZ-N~bZX&9rd~c>WPQx#EO$JP7*tK#y2;Ty#re
zcTs_u;pAuf@ZisRbP#<M^xq$bUWPs9QP6YsgXAkge-iXuu|{++==%;M-wFDkK;Hsh
zGY$%_H~rWL`eN+Cr&#HiOCJ#`opwyCMjx&zPCK+sj+t*bv_Cp@fj^<M__u}HAxH68
zq4rF{dAAm6?-gDpC?ze$S7`}ILHg);@wM9h4p|`tX`Lt&9+>dJga<y`1M2r0>h~FH
z`JmsBP*HXI&5E^7zfqwwMFR8p#_G2K2TzrRlbEi4Cqi%JsFX;c&19&4FG6cB6-ED#
zPt#GVZ|C-~&WYl|x=MwCc97|lC0d(={gI0LEd#w9qaw~l@>2ZEV%kEnk!5~^O80kE
z=zLEFw;H0T-;Q{=;|jl$8&Y<UGQaxmg=(KZd!wTG@VTGpADR;=d?_pHTeu^5H7)AO
zPTW3;x|iwr8Y_z~wg2z^tA3Ad*I3CnK{X7$3|BGiWVnf8AH#bXZfDrfaFF2;!%>F#
z5vC|*44n)s8QSgoth)NW5&2WaHp$?pWal}{TUrwlBjI#aSKw!5a~32-wd%U6c@>rO
z&SLc8TOgf9+B<1G7sY`Clv{Wpoy<VzyIlMfCk0xW)+Y{6%naaUe7_A}&3HABQ5B^g
z|2ptHR_|r9uKL^}@F!|&-bpH+1K@(%HP;0uY!Un?n7{W@{P*J`m;L`L_>a@-D<!9D
z_f^JUY{Q=j1_yqDwcLi!=bwuO|1|A(djD=Kx$Idf3^-m>zr$A|YlNN|nmx`9fj`My
z7Zm@^z|Vqz4&Y{;idzDWzAPgAATMy`jK_IS;Ae^hpr(oY5zwaNUXJ*;Gk+=bS2KR=
zEQwIV>}C8zPKhVKP`MuXGOVIbudJ(oZ&G@`CNVB1{EqRLbGvlEOXY8jKXaC>i!(Vc
zk43zaovYb?alZllPONuMTD@)UE@S?EypX>m)oHf_Kb3xA$K%V(vvx1=s*lVn0DXRZ
z9NN8!7vMoAKFj*wU^~@s{5}wPs|I;}92z3~A7*~#hYNrw{hzV|dZt08PT=LW_1`e-
znZ^COjETL#Pc4|KsdYuk+{yYc=M6_ZcLDL2dGr@yV<S7)JEaD3Ux>@OjNi}xuaab~
z75J~AUG@7#wVzza{PsAcd#&RNrfO<mW;NPFgjW>{e2Vpa<dn#{OnZ&-$MQzj#Q160
zh{=9?T+IPKm;P0G@H<(LeSW1Fzn0s*m)kuN8!)wdGmne%+alm|wfi9R_wm7FKkFG{
z{9SxtQS+CcDN>x&^Ms>kaa0xpPwn>G=I`Z<w~yB&m@lMf6&rPiRHG$@ey&)+6M672
z<-xz72Y(qh9<tM5|ETj%g7NnLJ_>v;za1oe0S-N779(-_BJdRd_Vwot)^DFLlW}gz
zrT_9g_y_ag-vXZcwV&6wOWCZ+@N=%b4Nl;Re-+1%S~uzh|4gln*D*{_QR<n$gX82h
z#`_s>ANLy=zmxX`)yEyc)B0>*CwB|{$=XV_kg)#!tmiJC?`JdqMaFBVN`zX+CSypb
zU-o^ZobmfOo;R_cFz{1h&oo<q4d(A;{&SfBX5h;#c`z8QeV_RsW_#FN?M=o{=k-?k
zVKQzE)V0z<Z~^dS|NS=pCdS+C|3Mx-4>122&qw9Ar}FT>&HQI`{H$T4PQ-5_$sQN?
zYYXEez~{1mGxP6vN=CIm{tS3Vu?7i#mq*XbtjE4CO~=6?m!8w|;4c84>>uL+xq(}6
zWBe)}Up0-tt@v$z+sgQ*9RFvkUNrk-hN~iqj19ilkZ$-^Ye2+}L|a>hU&|yy(T%X~
zr&K6$a0a6K>W*kDWv{@SwYcs}bZP!*xU(Z@1Ov$5kduS5L4<UlNZ}ET7_s$QTg(>@
z>VZT!ydEN!n#c;0#kwvOFxo5pot-kn1+sz!f(BAhR3m*#C}IThW=}Vw$V}mbIia|o
zh{QvyBf&uZH6lw1l45**k?<E6Sx+MRvZmTbx9+}VDdmyTkqJq6dl>0i+N9}Azj;Y*
zV||^bU(|5vlG+CS(q+q<-N?C8yQIMl2}<38j2@SZ*OekmN__|^M?!9Q1{;Et>#E#H
z&r$gWB$igG3?ms$l!e9A??N6Ck*5VOP2HRq#Wi0Ssa6;tjUj1_nfnBKbYyOU*M%PM
z@(?=GT$QnDX%I<CqU$L%>Kj^JZucS@GJ&i2qDyPRP8mjml>bEbol@Z>B9ss&B(jDC
zklLhky_8166sAce8YC^qc>_I2dNZF}ULargs*Yvsg*<7~DPM{1gVIX3)PY1c&_YRV
z$Q;VZgRYG?12Tdi{S<8q{w53$CBl*R+uC+5f>UF@$m*a7XW1uGB0G;PJxKo37LBd*
z#R59H(ucVuCZJw_DRQX<LJ>U?4+ex$xl-!Xh%_lO^$D03bs{~Fq1P^{<19Sp5Uq>(
zI?3rPkk_Z#rQ?4HPiuY_sR;>JD7Omvz%?(+U9NoolDS?Em&V9uWZn>$Bc%u8Q5`Sn
z1C(t^^(c}E!*0XoUh3o#<hr4DtTt6txnz$QjvsS5;?@C|ZRVLo=c=holT_sO!AxDN
zE&WDCEZA0&C&f`-hh!Qdb<#bwf@0`w$#%@qLy{aCyy|c$QXj?|fvHiIH7Ro~EtH8U
z5Hu&hH^kH5=5Ag>5VMER$dv8dMMpMB<I*E#Yo!tUoPI+xBg<N8>k}qbGq#K%QX0{!
zLm9Z-6l!v5Maa1pWLBdX+#WZu8dnD+0nPyRf1F+`XRmF2KnL^KX?7%UCa=Tgm9iv+
z;ziU|DHoVnG}^|KZ~PV!a)0JtlVh5wj9N#K$;;{^gaxvC*)SqOSxqKk6w*Q+(ZYfG
zXz@uVNtU%axtLs%FLLI$BCA|PZN+)gt9{-<5nH+~A(ym8B+e2MjkRJ$W1TvY<exL<
z<jx(?xsuq8%Qt8B!x4KpJDZtRrCO)IXo&c&N?=#BfwXNnRq*DY*~=9zVb~<{4(B}j
zf()Z6&ZgAm9Gg^E{?inuij4dGOBtOYRtF7zMW;HQMPn2`Vsnw{)^LJ~$Rol+ozGmf
z)zk5cw)ydUc~!o>T&}6P4t?h7@r#CRT~$3!Rc<7v!(xQvl|R~%2qQV1*ra@2SWK;(
zl-?STt4@hnby*G}!fHCTVFy}(Q&k`u)_s0|5F*yI6CIUxUz`sAI&N0#L*lsQU7>q%
zY?JN)Lpb-z6{_<jD71zIWtkIxHP2V_2rN#(!skbDEU9y4dx|sb$#%_yS>8y=Y;!ph
zDOwgk7*0CI4RXl6&^!Tzy~`=TA@SuH0NQR2I{-Ky$b)wM@(_-?<afBg8Cxx%(M6s}
zt3&e}<*KxwOb(ZwGb>qPjmjk`dSc%+t3G4X%#jl`Pu@?s$)+4$Yu42VrsnAb>rNb5
zIn~CQ^ES_VV>f;+QOk{15nmrRe64^+Ou}|`MYqDSPOSo;zy>Q;M-mmCu_&@?8tW~n
z)<g)|fkOdCA&=r5y6YG0?Y?-sRuNbqK@$=hF-cjA+?=6kB&(u>77KRxNPw?8I}ELY
z4ozAGE-O|?`63?lYZXSY3srH5t%ya%jbBBuop1cx1JI^wXa@NqgI)e$r-54{O1>(z
z%4Y&nhq^}NzHkWYr9vzsS_K|Pgz=0)J>&QvKzfYgz#qR(7?<~(AH$k05U;h+V<$X{
zHs$l>w^lNE?3+~<pk|e)Z-=QUsGeg=EWNwSF7>Ed<<<L21)bUK<K({qI?_W#RsYp{
zdj-o`9*^@yvD@zh7LPj3{;T);3U;z$vXOkJ<kkE25OCCG)xP>pKtc6g09Zt^`~Ta(
z(mQu0uimpOIFIF&{fbY)>p-V>_^Phn<10AG@?<~RsqAO8){6@o6D6;{D^PHh8CCmA
zUiJS6EWd>L)OQLBs_z;|o*o6-<$nwu`9$f*qeNL4@?%0qj*p+aK(Wd@S<ZwuhuhR^
z_uJ%arpl%iRQ$>SRabDkP2S7$3R=I>CLKyn!G~?~tN5X>f?ceSWT_}QS<|%N;KJH}
z^}bC(Ja*11_WAc)mRIAi-j^!akR_cNKZSn6Ca>OiD|na9|MvEux5=kmQnP~F&A^a&
z6+g0uZ(42gckugp1)CKkLz_9;2f*V|xR@KnqP`nadF}1(sk(xNP>4s@ro8&T!MT{U
zjrW(5Q?L~B)J0x4&F=!#|4%^~4-Cy;DoRep!2`fipOn1%u4v(f#I0!uBryL~@(R*-
z`c`@Ky-|%6ahj6yLdhxgS0PL|)qagvQk*psl74Hcu~u+>Dz{&0!z=mOHoQ`2g=Xwp
zc)c~UGKTkdROmGvy^B=#tMv=74Nco|X%^3NdHE0xuBE7U6^f>(>bt@b{O}4{JI5wq
Ht7`uZR82+V

literal 0
HcmV?d00001

diff --git a/hw/hw01/width.cpp b/hw/hw01/width.cpp
new file mode 100644
index 0000000..fe7b832
--- /dev/null
+++ b/hw/hw01/width.cpp
@@ -0,0 +1,62 @@
+#include <iostream>
+#include <iomanip>
+#include <vector>
+
+int width = 3;
+int column = 1;
+
+// 上部罫線を適切に調整
+void print_roof(int size)
+{
+    std::cout << "+";
+    for (int i = 0; i < size; i++)
+    {
+        std::cout << std::string(width + 2, '-') << "+";
+    }
+    std::cout << "\n";
+}
+
+// ABC ヘッダーを適切に調整
+void print_ABC(int size)
+{
+    char posice = 'A';
+    std::cout << "|";
+    for (int j = 0; j < size; j++)
+    {
+        std::cout << " " << std::setw(width) << posice++ << " |";
+    }
+    std::cout << "\n";
+    print_roof(size);
+}
+
+// 数値行を出力
+void print_num(const std::vector<int> &numbers, int size)
+{
+    std::cout << "| " << std::setw(width) << column++ << " |";
+    for (int i = 0; i < size - 1; i++)
+    {
+        if (i < numbers.size())
+            std::cout << " " << std::setw(width) << numbers[i] << " |";
+        else
+            std::cout << " " << std::setw(width) << " " << " |"; // 空セル
+    }
+    std::cout << "\n";
+    print_roof(size);
+}
+
+int main()
+{
+    std::vector<int> first = {1, 2, 3, 4, 5};
+    std::vector<int> second = {10, 20, 30, 500, 50, 98};
+
+    int size_first = first.size() + 1;
+    int size_second = second.size() + 1;
+    int max_size = std::max(size_first, size_second);
+
+    print_roof(max_size);
+    print_ABC(max_size);
+    print_num(first, max_size);
+    print_num(second, max_size);
+
+    return 0;
+}
-- 
GitLab