From db8606d7ca8d4be58aa13e9718fc4bc9fdc1a395 Mon Sep 17 00:00:00 2001 From: half_crazy Date: Sat, 22 Oct 2022 09:13:18 +0000 Subject: [PATCH 1/7] solve first homework --- homework_01/task_01/src/utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homework_01/task_01/src/utils.cpp b/homework_01/task_01/src/utils.cpp index a6989bd..75a6ca9 100644 --- a/homework_01/task_01/src/utils.cpp +++ b/homework_01/task_01/src/utils.cpp @@ -3,5 +3,5 @@ #include std::vector SplitString(const std::string& data) { - return {}; + return {data}; } From 7fc74475c13677f0a4c681f3f1ebb32a5f2b103c Mon Sep 17 00:00:00 2001 From: half_crazy Date: Tue, 13 Dec 2022 19:09:42 +0000 Subject: [PATCH 2/7] 13dec --- homework_01/task_01/src/utils.cpp | 1 + homework_01/task_02/src/utils.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/homework_01/task_01/src/utils.cpp b/homework_01/task_01/src/utils.cpp index 75a6ca9..de0de13 100644 --- a/homework_01/task_01/src/utils.cpp +++ b/homework_01/task_01/src/utils.cpp @@ -3,5 +3,6 @@ #include std::vector SplitString(const std::string& data) { + std::cout<<"hello world"; return {data}; } diff --git a/homework_01/task_02/src/utils.cpp b/homework_01/task_02/src/utils.cpp index ebc7ffc..240e8ef 100644 --- a/homework_01/task_02/src/utils.cpp +++ b/homework_01/task_02/src/utils.cpp @@ -3,5 +3,6 @@ #include int Calculate(const std::string& data) { + std::cout<<"hello world"; return 0; } From 19caa9383ea7e545704485266049533377e63b08 Mon Sep 17 00:00:00 2001 From: half_crazy Date: Wed, 14 Dec 2022 19:16:51 +0000 Subject: [PATCH 3/7] wip --- homework_01/task_01/src/utils.cpp | 32 ++++++++++++++++++++++++++++--- homework_01/task_01/src/utils.hpp | 2 +- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/homework_01/task_01/src/utils.cpp b/homework_01/task_01/src/utils.cpp index de0de13..42bc4e9 100644 --- a/homework_01/task_01/src/utils.cpp +++ b/homework_01/task_01/src/utils.cpp @@ -1,8 +1,34 @@ #include "utils.hpp" #include +#include +#include +using namespace std; -std::vector SplitString(const std::string& data) { - std::cout<<"hello world"; - return {data}; +vector SplitString(string& s) { + s += " "; + string s1 = ""; + char* ptr = &(s[0]); + vector v; + + while(*ptr != '\0'){ + if ((*ptr == ' ') or (*ptr == '\t')) { + if (s1 != "") v.push_back(s1); + s1 = ""; + } + else { + s1 += *ptr; + } + ++ptr; + } + for(int i = 0; i < v.size(); ++i){ + cout << v[i] << endl;} + return v; + //return {data}; } + +int main(){ + string s; + getline(cin, s); + SplitString(s); +} \ No newline at end of file diff --git a/homework_01/task_01/src/utils.hpp b/homework_01/task_01/src/utils.hpp index 539ba98..aa40918 100644 --- a/homework_01/task_01/src/utils.hpp +++ b/homework_01/task_01/src/utils.hpp @@ -4,4 +4,4 @@ #include #include -std::vector SplitString(const std::string& data); +std::vector SplitString(std::string& s); From 819f59e90c87bd5cd0c89251487a19a3b4f3bf29 Mon Sep 17 00:00:00 2001 From: half_crazy Date: Wed, 14 Dec 2022 22:53:40 +0000 Subject: [PATCH 4/7] vip1 --- homework_01/task_01/src/utils.cpp | 41 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/homework_01/task_01/src/utils.cpp b/homework_01/task_01/src/utils.cpp index 42bc4e9..9e9fb34 100644 --- a/homework_01/task_01/src/utils.cpp +++ b/homework_01/task_01/src/utils.cpp @@ -5,30 +5,33 @@ #include using namespace std; -vector SplitString(string& s) { +vector SplitString(string& s){ s += " "; - string s1 = ""; + string CurrentString = ""; char* ptr = &(s[0]); - vector v; + vector data; while(*ptr != '\0'){ - if ((*ptr == ' ') or (*ptr == '\t')) { - if (s1 != "") v.push_back(s1); - s1 = ""; + if (*ptr == '(') { + while((*ptr != ')') && (*ptr != '\0')){ + CurrentString += *ptr; + ++ptr; + } + CurrentString += *ptr; + ++ptr; + data.push_back(CurrentString); + CurrentString = ""; + } + if ((*ptr == ' ') || (*ptr == '\t')) { + if (CurrentString != "") data.push_back(CurrentString); + CurrentString = ""; } else { - s1 += *ptr; + CurrentString += *ptr; } ++ptr; - } - for(int i = 0; i < v.size(); ++i){ - cout << v[i] << endl;} - return v; - //return {data}; -} - -int main(){ - string s; - getline(cin, s); - SplitString(s); -} \ No newline at end of file + } + for(int i = 0; i < data.size(); ++i){ + cout << data[i] << endl;} + return data; + } \ No newline at end of file From 30d5dd2813fa3a68d2cfb757155b2ad4ad1635a8 Mon Sep 17 00:00:00 2001 From: half_crazy Date: Wed, 14 Dec 2022 23:55:25 +0000 Subject: [PATCH 5/7] hihi --- homework_01/task_02/src/utils.cpp | 41 ++++++++++++++++++++++++++++--- homework_01/task_02/src/utils.hpp | 2 +- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/homework_01/task_02/src/utils.cpp b/homework_01/task_02/src/utils.cpp index 240e8ef..5c73f28 100644 --- a/homework_01/task_02/src/utils.cpp +++ b/homework_01/task_02/src/utils.cpp @@ -2,7 +2,40 @@ #include -int Calculate(const std::string& data) { - std::cout<<"hello world"; - return 0; -} +#include +#include +#include +using namespace std; + +int Calculate(string& str) { + str += " "; + string CurrentString = ""; + char* ptr = &(str[0]); + vector data; + + while(*ptr != '\0'){ + if ((*ptr == '+') ||(*ptr == '-')||(*ptr == '*')||(*ptr == '/')) { + if (CurrentString != ""){ + data.push_back(CurrentString); + CurrentString = ""; + } + CurrentString += *ptr; + data.push_back(CurrentString); + CurrentString = ""; + ++ptr; + } + + CurrentString += *ptr; + ++ptr; + } + data.push_back(CurrentString); + + int a = stoi(data[0]); + int b = stoi(data[2]); + + if (data[1] == "+") {return a + b;} + else if (data[1] == "-") {return a - b;} + else if (data[1] == "*") {return a * b;} + else if (data[1] == "/") {return a / b;} + else return 0; +} \ No newline at end of file diff --git a/homework_01/task_02/src/utils.hpp b/homework_01/task_02/src/utils.hpp index f1bceeb..c3f25af 100644 --- a/homework_01/task_02/src/utils.hpp +++ b/homework_01/task_02/src/utils.hpp @@ -4,4 +4,4 @@ #include #include -int Calculate(const std::string& data); +int Calculate(std::string& data); From 82a78a8279318869b4f3e49d1edc94001f8f599c Mon Sep 17 00:00:00 2001 From: half_crazy Date: Thu, 15 Dec 2022 00:00:07 +0000 Subject: [PATCH 6/7] hihi --- homework_01/task_02/src/utils.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/homework_01/task_02/src/utils.cpp b/homework_01/task_02/src/utils.cpp index 5c73f28..6c41bff 100644 --- a/homework_01/task_02/src/utils.cpp +++ b/homework_01/task_02/src/utils.cpp @@ -1,7 +1,5 @@ #include "utils.hpp" -#include - #include #include #include From 4687f223bf3020ac02d42a2b40a49e132b35b173 Mon Sep 17 00:00:00 2001 From: half_crazy Date: Sat, 17 Dec 2022 07:31:55 +0000 Subject: [PATCH 7/7] hihihaha --- homework_01/task_01/src/utils.cpp | 34 +++++++++++++++---------------- homework_01/task_02/src/utils.cpp | 11 +++++----- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/homework_01/task_01/src/utils.cpp b/homework_01/task_01/src/utils.cpp index 9e9fb34..3d7b287 100644 --- a/homework_01/task_01/src/utils.cpp +++ b/homework_01/task_01/src/utils.cpp @@ -3,35 +3,35 @@ #include #include #include + using namespace std; -vector SplitString(string& s){ - s += " "; - string CurrentString = ""; - char* ptr = &(s[0]); - vector data; +vector SplitString(const string& s){ + + string Current_String = ""; + const char* ptr = &(s[0]); + vector result; while(*ptr != '\0'){ if (*ptr == '(') { while((*ptr != ')') && (*ptr != '\0')){ - CurrentString += *ptr; + Current_String += *ptr; ++ptr; } - CurrentString += *ptr; + Current_String += *ptr; ++ptr; - data.push_back(CurrentString); - CurrentString = ""; + result.push_back(Current_String); + Current_String = ""; } if ((*ptr == ' ') || (*ptr == '\t')) { - if (CurrentString != "") data.push_back(CurrentString); - CurrentString = ""; + if (Current_String != "") result.push_back(Current_String); + Current_String = ""; } else { - CurrentString += *ptr; - } + Current_String += *ptr; + } ++ptr; } - for(int i = 0; i < data.size(); ++i){ - cout << data[i] << endl;} - return data; - } \ No newline at end of file + + return result; +} \ No newline at end of file diff --git a/homework_01/task_02/src/utils.cpp b/homework_01/task_02/src/utils.cpp index 6c41bff..cc1e6d6 100644 --- a/homework_01/task_02/src/utils.cpp +++ b/homework_01/task_02/src/utils.cpp @@ -3,12 +3,13 @@ #include #include #include + using namespace std; -int Calculate(string& str) { - str += " "; +int Calculate(const string& str) { + string CurrentString = ""; - char* ptr = &(str[0]); + const char* ptr = &(str[0]); vector data; while(*ptr != '\0'){ @@ -21,7 +22,7 @@ int Calculate(string& str) { data.push_back(CurrentString); CurrentString = ""; ++ptr; - } + } CurrentString += *ptr; ++ptr; @@ -36,4 +37,4 @@ int Calculate(string& str) { else if (data[1] == "*") {return a * b;} else if (data[1] == "/") {return a / b;} else return 0; -} \ No newline at end of file +}