Website Summary Files Commits Branches @commit @diff @stats
path: root / Week13 / Exercise04.cpp
diff options
context:
space:
mode:
Commit5c3b97fb2572ce8940439abd0652d2a7f7a623bd (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-01-11 13:43:39 +0200
Committer
 Syndamia <kamen@syndamia.com>
2026-01-11 13:43:39 +0200
Filesc122f6fba2c8ac11ea022cc4b63fa89798994915 /Week13/Exercise04.cpp
upp-2025-solutions-5c3b97fb2572ce8940439abd0652d2a7f7a623bd.tar
upp-2025-solutions-5c3b97fb2572ce8940439abd0652d2a7f7a623bd.tar.gz
upp-2025-solutions-5c3b97fb2572ce8940439abd0652d2a7f7a623bd.zip
Parent3c427559e32750c40bbd0d95b525ea42e3b37fc7 (diff)
feat(Week13): Add solutions to most exercises
1 files changed, 38 insertions, 0 deletions
-rw-r--r--Week13/Exercise04.cpp38
diff --git a/Week13/Exercise04.cpp b/Week13/Exercise04.cpp
new file mode 100644
index 0000000..0fdc462
--- /dev/null
+++ b/Week13/Exercise04.cpp
@@ -0,0 +1,38 @@
+#include <iostream>
+#include <cstring>
+
+/* Два начина по които да имплементираме обръщането на низа */
+
+void revText1(unsigned left, unsigned right, char* str) {
+ if (left < right) {
+ char tmp = str[left];
+ str[left] = str[right];
+ str[right] = tmp;
+
+ revText1(left + 1, right - 1, str);
+ }
+}
+
+void revText2(char* left, char* right) {
+ if (left < right) {
+ char tmp = *left;
+ *left = *right;
+ *right = tmp;
+
+ revText2(left + 1, right - 1);
+ }
+}
+
+int main() {
+ const unsigned MAX_LEN = 1024;
+
+ char line[MAX_LEN];
+ std::cin.getline(line, MAX_LEN);
+
+ // revText1(0, strlen(line) - 1, line);
+ revText2(line, line + strlen(line) - 1);
+
+ std::cout << line << std::endl;
+
+ return 0;
+}