diff options
Diffstat (limited to 'challenge-097/paulo-custodio/cpp/ch-1.cpp')
| -rw-r--r-- | challenge-097/paulo-custodio/cpp/ch-1.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-097/paulo-custodio/cpp/ch-1.cpp b/challenge-097/paulo-custodio/cpp/ch-1.cpp new file mode 100644 index 0000000000..cddd5df19f --- /dev/null +++ b/challenge-097/paulo-custodio/cpp/ch-1.cpp @@ -0,0 +1,32 @@ +/* +Challenge 097 + +TASK #1 + +*/ + +#include <iostream> +#include <string> +#include <cctype> + +// replace in-place by ciphered text +void caeser(int n, std::string& str) { + for (auto& c : str) { + if (isalpha(c)) + c = ((toupper(c)-'A'+26-n)%26)+'A'; + } +} + +int main(int argc, char* argv[]) { + std::string str; + if (argc > 2) { + int n = atoi(argv[1]); + for (int i = 2; i < argc; i++) { + str += argv[i]; + str += " "; + } + str.pop_back(); + caeser(n, str); + std::cout << str << std::endl; + } +} |
