From c0194c97ad14db58397e0b50bfb0c89f50ca1bdb Mon Sep 17 00:00:00 2001 From: Profizmatik Date: Sat, 7 Mar 2026 11:43:14 +0000 Subject: [PATCH 1/2] task_01 --- task_01/first | Bin 0 -> 63984 bytes task_01/first.cpp | 24 ++++++++++++++++++++++ task_01/src/main.cpp | 11 ++++++++++- task_01/src/test.cpp | 46 ++++++++++++++++++++++++++++++++++++++++--- task_01/src/util.hpp | 24 ++++++++++++++++++++++ task_01/test.cpp | 1 + 6 files changed, 102 insertions(+), 4 deletions(-) create mode 100755 task_01/first create mode 100644 task_01/first.cpp create mode 100644 task_01/src/util.hpp create mode 100644 task_01/test.cpp diff --git a/task_01/first b/task_01/first new file mode 100755 index 0000000000000000000000000000000000000000..cf7b234c89de31c40681753ee5796d2d20e5a419 GIT binary patch literal 63984 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 +#include +using namespace std; + +pair func(int sum, const vector &vec) +{ + int l = 0; + int r = vec.size() - 1; + while ((vec[r] + vec[l]) != sum and l < r) + { + if (vec[r] + vec[l] > sum) + r -= 1; + else + l += 1; + } + return make_pair(vec[l], vec[r]); +} + +int main() +{ + vector vec = {1, 2, 4, 5, 7}; + pair result = func(9, vec); + cout << result.first << " " << result.second; +} \ No newline at end of file diff --git a/task_01/src/main.cpp b/task_01/src/main.cpp index 0e4393b..e7bf54c 100644 --- a/task_01/src/main.cpp +++ b/task_01/src/main.cpp @@ -1,3 +1,12 @@ #include +#include +#include "util.hpp"; +using namespace std; -int main() { return 0; } + +int main() +{ + vector vec = {1, 2, 4, 5, 7}; + pair result = func(9, vec); + cout << result.first << " " << result.second; +} diff --git a/task_01/src/test.cpp b/task_01/src/test.cpp index 87cef73..15bbf0f 100644 --- a/task_01/src/test.cpp +++ b/task_01/src/test.cpp @@ -1,5 +1,45 @@ #include +#include +#include + + +TEST(Test1_Simple_Test, Simple) { + std::vector v = {1, 2, 3, 4, 5, 6}; + + auto result = func(7, v); + EXPECT_EQ(result.first, 1); + EXPECT_EQ(result.second, 6); +} + +TEST(Test2, Empty) { + std::vector v = {}; + + auto result = func(7, v); + EXPECT_EQ(result.first, 0); + EXPECT_EQ(result.second, 0); +} + +TEST(Test3, Small) { + std::vector v = {5}; + + auto result = func(7, v); + EXPECT_EQ(result.first, 0); + EXPECT_EQ(result.second, 0); +} + +TEST(Test4, No_Pair) { + std::vector v = {1, 3, 5, 7}; + + auto result = func(40, v); + EXPECT_EQ(result.first, -1); + EXPECT_EQ(result.second, -1); +} + +TEST(Test5, With_Negative) { + std::vector v = {-1, 3, -4, 8}; + auto result = func(-5, v); + EXPECT_EQ(result.first, -1); + EXPECT_EQ(result.second, -4); +} + -TEST(Test, Simple) { - ASSERT_EQ(1, 1); // Stack [] -} \ No newline at end of file diff --git a/task_01/src/util.hpp b/task_01/src/util.hpp new file mode 100644 index 0000000..3edea03 --- /dev/null +++ b/task_01/src/util.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include +#include +using namespace std; + +pair func(int sum, const vector &vec) +{ + if (vec.size() < 2) + return make_pair(0, 0); + int l = 0; + int r = vec.size() - 1; + while (l < r) + { + if (vec[r] + vec[l] == sum) + return make_pair(vec[l], vec[r]); + if (vec[r] + vec[l] > sum) + r -= 1; + else + l += 1; + } + return make_pair(-1, -1); +} + diff --git a/task_01/test.cpp b/task_01/test.cpp new file mode 100644 index 0000000..77f8533 --- /dev/null +++ b/task_01/test.cpp @@ -0,0 +1 @@ + TEST(SumOfTwo, Empty) \ No newline at end of file From 6f5a8ee6e57537958305592b472329ba875b2dd0 Mon Sep 17 00:00:00 2001 From: Profizmatik Date: Sat, 21 Mar 2026 12:04:58 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=201=20=D1=81?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task_01/test.cpp | 1 - task_03/src/util.hpp | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) delete mode 100644 task_01/test.cpp create mode 100644 task_03/src/util.hpp diff --git a/task_01/test.cpp b/task_01/test.cpp deleted file mode 100644 index 77f8533..0000000 --- a/task_01/test.cpp +++ /dev/null @@ -1 +0,0 @@ - TEST(SumOfTwo, Empty) \ No newline at end of file diff --git a/task_03/src/util.hpp b/task_03/src/util.hpp new file mode 100644 index 0000000..6655cac --- /dev/null +++ b/task_03/src/util.hpp @@ -0,0 +1,31 @@ +#include +#include +#include +using namespace std; + +vector get_komb_letters(const string& num) +map button; +button[1] = {}; +button[2] = {'a', 'b', 'c'}; +button[3] = {'d', 'e', 'f'}; +button[4] = {'g', 'h', 'i'}; +button[5] = {'j', 'k', 'l'}; +button[6] = {'m', 'n', 'o'}; +button[7] = {'p', 'q', 'r', 's'}; +button[8] = {'t', 'u', 'v'}; +button[9] = {'w', 'x', 'y', 'z'}; +button[0] = {'+'} + +vector res; + +for(int i = 0; i < len(button[num[0]]); i++){ + for (int j = 0; j < len(button[num[1]]); j++){ + s = button[num[0]][i] + button[num[1]][j]; + res + + } + +} + + +