Odpowiedź :
Odpowiedź:
#include <iostream>
#include <string>
int main() {
std::string word;
std::cout << "Podaj wyraz do zaszyfrowania\n";
std::cin >> word;
for(int i = 0; i < word.size() - 1; i++){
if(i % 2 == 0){
char tmp = word[i + 1];
word[i + 1] = word[i];
word[i] = tmp;
}
}
std::cout << "Zaszyfrowany wyraz to: " << word;
return 0;
}
Wyjaśnienie:
Jeśli liczba jest parzysta, czyli idziemy od początku wyrazu, bo w informatyce liczymy od 0, a 0 uznajemy za patrzyste, to zamieniamy znak na tym miejscu ze znakiem na kolejnym miejscu. Można by użyć std::swap, ale nie wiem czy to mieliście i czasem też warto poćwiczyć rzeczy "analogowo". I w tym przypadku szyfrator i deszyfrator będzie wyglądał identycznie, więc nie wiem czemu jest rozdzielenie na te przypadki.