diff options
| author | Humberto Massa <humbertomassa@gmail.com> | 2022-09-02 12:19:52 -0300 |
|---|---|---|
| committer | Humberto Massa <humbertomassa@gmail.com> | 2022-09-02 12:19:52 -0300 |
| commit | 653c651668bbd8e98bfe1546ac19e23bba8544ca (patch) | |
| tree | 7c27d37161421a3f52de8812a7d822bc2a35a7b0 /challenge-180/massa/cpp/ch-2.cc | |
| parent | 08e116e40ba3cff85f73e507cbf7895e5ab9f755 (diff) | |
| download | perlweeklychallenge-club-653c651668bbd8e98bfe1546ac19e23bba8544ca.tar.gz perlweeklychallenge-club-653c651668bbd8e98bfe1546ac19e23bba8544ca.tar.bz2 perlweeklychallenge-club-653c651668bbd8e98bfe1546ac19e23bba8544ca.zip | |
Nothing like implementing in another language...
to find a bug in your implementation :-)
Diffstat (limited to 'challenge-180/massa/cpp/ch-2.cc')
| -rw-r--r-- | challenge-180/massa/cpp/ch-2.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/challenge-180/massa/cpp/ch-2.cc b/challenge-180/massa/cpp/ch-2.cc new file mode 100644 index 0000000000..a878f2dbf5 --- /dev/null +++ b/challenge-180/massa/cpp/ch-2.cc @@ -0,0 +1,19 @@ + +#include <span> +#include <ranges> +#include <iostream> +#include <string_view> + +std::ostream& operator<<(std::ostream &o, std::ranges::range auto r) { + if( begin(r) == end(r) ) return o; + std::copy(begin(r), end(r)-1, std::ostream_iterator<decltype(*begin(r))>{o, ", "}); + return o << end(r)[-1]; +} + +int main(int argc, char **argv) { + if( argc <= 1 ) return 0; + int needle = std::stoi(argv[1]); + auto e = std::remove_if(argv+2, argv+argc, [=](auto x){ return std::stoi(x) <= needle; }); + std::cout << std::span{ argv+2, e } << '\n'; +} + |
