Odpowiedź:
#include <iostream>
using namespace std;
char szyfruj_znak(char tekst,int klucz){
int o_ile=klucz%31;
for(int i=0;i<o_ile;i++) {
if(tekst=='z') tekst=='a';
else tekst=tekst+1;
}
return tekst;
}
string szyfruj(string tekst, int klucz){
string pom="";
for(int i=0;i<tekst.length();i++) pom=pom+szyfruj_znak(tolower(tekst[i]),klucz);
return pom;
}
int main()
{
string slowo;
int klucz;
cout<<"Podaj slowo (tylko male litery): "; cin>>slowo;
cout<<"Podaj klucz od 1 do 1000: "; cin>>klucz;
cout<<"Slowo zaszyfrowane: "<<szyfruj(slowo,klucz)<<endl;
}
Wyjaśnienie:
Użyty został tu szyfr Cezara.
Na przyszłość na rozszyfrowywanie, tego kodu wyżej:
char odszyfruj_znak(char tekst,int klucz){
int o_ile=klucz%31;
for(int i=0;i<o_ile;i++) {
if(tekst=='a') tekst=='z';
else tekst=tekst-1;
}
return tekst;
}
string odszyfruj(string tekst, int klucz){
string pom="";
for(int i=0;i<tekst.length();i++) pom=pom+odszyfruj_znak(tolower(tekst[i]),klucz);
return pom;
}