aboutsummaryrefslogtreecommitdiff
path: root/week09/ex3.cpp
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2024-01-05 08:17:59 +0200
committerSyndamia <kamen@syndamia.com>2024-01-05 08:17:59 +0200
commit5e2d33632ed1dfc689f14ebf1a782239411d8534 (patch)
tree3208b071ba14b549392b7aee321cdf605a0a29d5 /week09/ex3.cpp
parent6c84273107288d6c97c80117b0743dd5b8188144 (diff)
downloadupp-2023-solutions-5e2d33632ed1dfc689f14ebf1a782239411d8534.tar
upp-2023-solutions-5e2d33632ed1dfc689f14ebf1a782239411d8534.tar.gz
upp-2023-solutions-5e2d33632ed1dfc689f14ebf1a782239411d8534.zip
[w9] Added solutions for first 3 exercises
Diffstat (limited to 'week09/ex3.cpp')
-rw-r--r--week09/ex3.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/week09/ex3.cpp b/week09/ex3.cpp
new file mode 100644
index 0000000..6baae4f
--- /dev/null
+++ b/week09/ex3.cpp
@@ -0,0 +1,26 @@
+#include <iostream>
+#include <cstring>
+
+bool isSkippable(char c) {
+ return c == ' ' || c == '.' || c == ',' || c == '!' || c == '?';
+}
+
+int main() {
+ char str[1025];
+ std::cin.getline(str, 1025);
+
+ size_t strSize = strlen(str);
+ int words = 1;
+ bool lastWasSkippable = false;
+ for (int i = 0; i < strSize; i++) {
+ if (!isSkippable(str[i]) && lastWasSkippable) {
+ words++;
+ lastWasSkippable = false;
+ }
+ else if (isSkippable(str[i])) {
+ lastWasSkippable = true;
+ }
+ }
+
+ std::cout << words << std::endl;
+}