Website Summary Files Commits Branches @commit @diff @stats
path: root / Week07 / Exercise13.cpp
diff options
context:
space:
mode:
Commit3e8ac7ba4a8f410703aa5a8426f542217adcbf2f (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-11-14 20:55:42 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-11-14 20:55:42 +0200
Files85d854d449924ef1b88ddb4e5e3f37fb2a68299f /Week07/Exercise13.cpp
upp-2025-solutions-3e8ac7ba4a8f410703aa5a8426f542217adcbf2f.tar
upp-2025-solutions-3e8ac7ba4a8f410703aa5a8426f542217adcbf2f.tar.gz
upp-2025-solutions-3e8ac7ba4a8f410703aa5a8426f542217adcbf2f.zip
Parentec8ecd4dc19854007428761c330303854478201f (diff)
feat(Week07): Add solutions
1 files changed, 30 insertions, 0 deletions
-rw-r--r--Week07/Exercise13.cpp30
diff --git a/Week07/Exercise13.cpp b/Week07/Exercise13.cpp
new file mode 100644
index 0000000..95115f9
--- /dev/null
+++ b/Week07/Exercise13.cpp
@@ -0,0 +1,30 @@
+#include <iostream>
+
+bool isDigit(char x) {
+ return '0' <= x && x <= '9';
+}
+
+bool isLetter(char x) {
+ return ('a' <= x && x <= 'z') || ('A' <= x && x <= 'Z');
+}
+
+bool followsPattern(char letters[4]) {
+ return isLetter(letters[0]) && isDigit(letters[1]) && isLetter(letters[2]) && isDigit(letters[3]);
+}
+
+int main() {
+ const unsigned int SIZE = 12;
+ char input[SIZE];
+ for (unsigned int i = 0; i < SIZE; i++)
+ std::cin >> input[i];
+
+ for (unsigned int i = 0; i < SIZE; i += 4) {
+ if (!followsPattern(input)) {
+ std::cout << "Does not follow pattern" << std::endl;
+ return 0;
+ }
+ }
+
+ std::cout << "Follows pattern" << std::endl;
+ return 0;
+}