[ create a new paste ] login | about

Link: http://codepad.org/ZaXR11u9    [ raw code | fork ]

C++, pasted on Dec 21:
#include <cassert>
#include <cstdlib>
#include <string>

inline std::string first_last_n(std::string::size_type n, const std::string& s)
{
   n = std::min(n, s.size());
   std::string ret;
   ret.reserve(2*n);
   ret.append(s.begin(), s.begin() + n);
   ret.append(s.end() - n, s.end());
   return ret;
}

int main()
{
   {
      std::string s = "0123456789";
      std::string r = first_last_n(10,s);
      assert(r == "01234567890123456789");
   }

   {
      std::string s = "0123456789ABC0123456789";
      std::string r = first_last_n(10,s);
      assert(r == "01234567890123456789");
   }

   {
      std::string s = "1234321";
      std::string r = first_last_n(5,s);
      assert(r == "1234334321");
   }

   return EXIT_SUCCESS;
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: