fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <array>
  4. #include <string>
  5. #include <climits>
  6.  
  7. std::string change(std::string str)
  8. {
  9. std::string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  10. std::string keyboard = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn";
  11.  
  12. // setup transformation array.
  13. std::array<char, 1 << CHAR_BIT> xform;
  14. xform.fill('.');
  15. for (auto it = alphabet.begin(); it!= alphabet.end(); ++it)
  16. xform[ static_cast<unsigned char>(*it)] = keyboard[it-alphabet.begin()];
  17.  
  18. std::transform(str.begin(), str.end(), str.begin(),
  19. [&xform](char c) { return xform[static_cast<unsigned char>(c)];});
  20.  
  21. return str;
  22. }
  23.  
  24. int main()
  25. {
  26. std::cout << change("Hello") << '\n';
  27. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Itssg