aboutsummaryrefslogtreecommitdiff
path: root/challenge-252/witawayar/cpp/ch-2.cpp
diff options
context:
space:
mode:
authormustafaaydn <isaidwhynot@protonmail.com>2024-01-22 00:12:03 +0300
committermustafaaydn <isaidwhynot@protonmail.com>2024-01-22 00:12:03 +0300
commitc040e950295d9ef9a3a952b8319ba074a51b1513 (patch)
treec42d4fc46d271c109968e5bf9096bc04b5c52b60 /challenge-252/witawayar/cpp/ch-2.cpp
parent4e45e7ef6d371df4c851b81af497b0146497a7e2 (diff)
downloadperlweeklychallenge-club-c040e950295d9ef9a3a952b8319ba074a51b1513.tar.gz
perlweeklychallenge-club-c040e950295d9ef9a3a952b8319ba074a51b1513.tar.bz2
perlweeklychallenge-club-c040e950295d9ef9a3a952b8319ba074a51b1513.zip
add solutions
Diffstat (limited to 'challenge-252/witawayar/cpp/ch-2.cpp')
-rw-r--r--challenge-252/witawayar/cpp/ch-2.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-252/witawayar/cpp/ch-2.cpp b/challenge-252/witawayar/cpp/ch-2.cpp
new file mode 100644
index 0000000000..91b103757b
--- /dev/null
+++ b/challenge-252/witawayar/cpp/ch-2.cpp
@@ -0,0 +1,28 @@
+// g++ -Wall -Wextra -Wpedantic -std=c++17 cpp/ch-2.cpp
+#include <iostream> // cout
+#include <numeric> // accumulate
+#include <sstream> // stringstream
+#include <vector>
+
+std::vector<int> fun(int const& n) {
+ std::vector<int> range(n);
+ std::iota(range.begin(), range.end(), -(n / 2));
+ return range;
+}
+
+int main(void) {
+ // Tests
+ std::vector<unsigned> tests{5, 3, 1};
+
+ for (const unsigned& input : tests) {
+ std::vector<int> got = fun(input);
+ int sum = std::accumulate(got.cbegin(), got.cend(), 0);
+ if (sum != 0) {
+ std::stringstream error_msg;
+ error_msg << "Expected " << 0 << ", got " << sum;
+ throw std::runtime_error(error_msg.str());
+ }
+ }
+
+ std::cout << "done-testing, success\n";
+}