diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2023-09-20 16:15:49 +0330 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2023-09-20 16:15:49 +0330 |
| commit | 8701808a4ca1e652ba6a38eb5914d1ca6341cbf1 (patch) | |
| tree | 1e65a5733be4fad5f9793ba12a6c1624281bcf88 /challenge-235/deadmarshal/cpp/ch-2.cpp | |
| parent | aee701524950403dce06a2a835452b79eacabce1 (diff) | |
| download | perlweeklychallenge-club-8701808a4ca1e652ba6a38eb5914d1ca6341cbf1.tar.gz perlweeklychallenge-club-8701808a4ca1e652ba6a38eb5914d1ca6341cbf1.tar.bz2 perlweeklychallenge-club-8701808a4ca1e652ba6a38eb5914d1ca6341cbf1.zip | |
TWC235
Diffstat (limited to 'challenge-235/deadmarshal/cpp/ch-2.cpp')
| -rw-r--r-- | challenge-235/deadmarshal/cpp/ch-2.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/challenge-235/deadmarshal/cpp/ch-2.cpp b/challenge-235/deadmarshal/cpp/ch-2.cpp new file mode 100644 index 0000000000..d7cc334eae --- /dev/null +++ b/challenge-235/deadmarshal/cpp/ch-2.cpp @@ -0,0 +1,38 @@ +#include<iostream> +#include<vector> + +template<typename T> +std::vector<T> duplicate_zeros(std::vector<T> &vec) +{ + std::vector<T> ret{}; + for(const auto& e : vec) + { + if(ret.size() == vec.size()) break; + if(e == 0) + { + ret.emplace_back(0); + ret.emplace_back(0); + } + else ret.emplace_back(e); + } + return ret; +} + +template<typename T> +std::ostream &operator<<(std::ostream &os, + const std::vector<T>& vec) +{ + for(const auto &e : vec) os << e << ' '; + os << "\n"; + return os; +} + +int main() +{ + std::vector<int> vec1{1,0,2,3,0,4,5,0},vec2{1,2,3},vec3{0,3,0,4,5}; + std::cout << duplicate_zeros<int>(vec1); + std::cout << duplicate_zeros<int>(vec2); + std::cout << duplicate_zeros<int>(vec3); + return 0; +} + |
