aboutsummaryrefslogtreecommitdiff
path: root/challenge-240/deadmarshal/cpp
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2023-10-31 11:13:53 +0800
committer冯昶 <fengchang@novel-supertv.com>2023-10-31 11:13:53 +0800
commit50b486fa26bc3ad30ed80a83f269f8dc93fd8bcd (patch)
tree3b43cb77c4d042b62b31fd95e04caeaddc2f3bba /challenge-240/deadmarshal/cpp
parent7fe999f4ae6a14b7f3497f06eaa936c6fcbe6436 (diff)
parent71ad4139989a590a4a64b128ae3de74f7c19bad8 (diff)
downloadperlweeklychallenge-club-50b486fa26bc3ad30ed80a83f269f8dc93fd8bcd.tar.gz
perlweeklychallenge-club-50b486fa26bc3ad30ed80a83f269f8dc93fd8bcd.tar.bz2
perlweeklychallenge-club-50b486fa26bc3ad30ed80a83f269f8dc93fd8bcd.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-240/deadmarshal/cpp')
-rw-r--r--challenge-240/deadmarshal/cpp/ch-1.cpp24
-rw-r--r--challenge-240/deadmarshal/cpp/ch-2.cpp22
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-240/deadmarshal/cpp/ch-1.cpp b/challenge-240/deadmarshal/cpp/ch-1.cpp
new file mode 100644
index 0000000000..82f633b69f
--- /dev/null
+++ b/challenge-240/deadmarshal/cpp/ch-1.cpp
@@ -0,0 +1,24 @@
+#include<iostream>
+#include<vector>
+#include<string>
+#include<cctype>
+
+bool acronym(const std::vector<std::string> &vec,
+ const std::string check)
+{
+ std::string ret{};
+ for(const auto str : vec) ret += tolower(str[0]);
+ return ret == check;
+}
+
+int main()
+{
+ std::vector<std::string> vec1{"Perl","Python","Pascal"};
+ std::vector<std::string> vec2{"Perl","Raku"};
+ std::vector<std::string> vec3{"Oracle","Awk","C"};
+ std::cout << acronym(vec1,"ppp") << '\n'
+ << acronym(vec2,"rp") << '\n'
+ << acronym(vec3,"oac") << '\n';
+ return 0;
+}
+
diff --git a/challenge-240/deadmarshal/cpp/ch-2.cpp b/challenge-240/deadmarshal/cpp/ch-2.cpp
new file mode 100644
index 0000000000..cdc7ef28da
--- /dev/null
+++ b/challenge-240/deadmarshal/cpp/ch-2.cpp
@@ -0,0 +1,22 @@
+#include<iostream>
+#include<vector>
+
+template<typename T>
+void build_array(const std::vector<T> &vec)
+{
+ std::vector<T> ret(vec.size(),0);
+ for(size_t i = 0; i < vec.size(); ++i) ret.at(i) = vec.at(vec.at(i));
+ for(size_t i = 0; i < ret.size(); ++i)
+ std::cout << ret.at(i) << ' ';
+ std::cout << '\n';
+}
+
+int main()
+{
+ std::vector<int> vec1 = {0,2,1,5,3,4};
+ std::vector<int> vec2 = {5,0,1,2,3,4};
+ build_array<int>(vec1);
+ build_array<int>(vec2);
+ return 0;
+}
+