From 8f54ef4d7e1c112e6dde2947a6a9a27c8393f899 Mon Sep 17 00:00:00 2001 From: Oskar Date: Fri, 30 Aug 2024 18:32:44 +0200 Subject: more --- 5p17.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 5p17.cpp (limited to '5p17.cpp') diff --git a/5p17.cpp b/5p17.cpp new file mode 100644 index 0000000..154996f --- /dev/null +++ b/5p17.cpp @@ -0,0 +1,44 @@ +#include +#include + +/* + * + * 5.17 + * + * + */ + +int main () { + + std::vector v1 = {1,1,1,1,2}; + std::vector v2 = {1,1,1,1,2}; + auto v1l = v1.size(); + auto v2l = v2.size(); + decltype(v1.cend()) smallestend; + decltype(v1.cbegin()) smallestbeg; + decltype(v1.cbegin()) biggestbeg; + if(v1l > v2l) { + smallestend = v2.cend(); + smallestbeg = v2.cbegin(); + biggestbeg = v1.cbegin(); + } else if (v2l > v1l) { + smallestend = v1.cend(); + smallestbeg = v1.cbegin(); + biggestbeg = v2.cbegin(); + } else if (v1l == v2l) { + smallestend = v1.cend(); + smallestbeg = v1.cbegin(); + biggestbeg = v2.cbegin(); + } + + bool determine_prefix = true; + for( ; smallestbeg != smallestend ; ++smallestbeg, ++biggestbeg) { + if(*smallestbeg != *biggestbeg) { + determine_prefix = false; + break; + } + } + + std::cout << (determine_prefix ? "true" : "false") << std::endl; + return 0; +} -- cgit v1.2.3