#include <iostream>
using namespace std;
// zdefiniuj funkcję
char szyfruj_znak(char znak, int klucz) {
int litera_alfabetu = znak - 'a';
int kod_nowej_litery = (litera_alfabetu + klucz) % 26;
return char(kod_nowej_litery + 'a');
}
// zdefiniuj funkcję
string szyfruj2(string tekst, int klucz1, int klucz2) {
string wynik = "";
klucz1 %= 26;
klucz2 %= 26;
for (int i = 0; i < tekst.size(); i++) {
if (i % 2 == 0)
wynik += szyfruj_znak(tekst[i], klucz2); // najpierw klucz2
else
wynik += szyfruj_znak(tekst[i], klucz1); // potem klucz1
}
return wynik;
}
int main() {
cout << szyfruj2("poufnytekst", 3, 10) << endl;
cout << szyfruj2("poczekajnamnie", 123, 5) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gemRlZmluaXVqIGZ1bmtjasSZCmNoYXIgc3p5ZnJ1al96bmFrKGNoYXIgem5haywgaW50IGtsdWN6KSB7CiAgICBpbnQgbGl0ZXJhX2FsZmFiZXR1ID0gem5hayAtICdhJzsKICAgIGludCBrb2Rfbm93ZWpfbGl0ZXJ5ID0gKGxpdGVyYV9hbGZhYmV0dSArIGtsdWN6KSAlIDI2OwogICAgcmV0dXJuIGNoYXIoa29kX25vd2VqX2xpdGVyeSArICdhJyk7Cn0KCi8vIHpkZWZpbml1aiBmdW5rY2rEmQpzdHJpbmcgc3p5ZnJ1ajIoc3RyaW5nIHRla3N0LCBpbnQga2x1Y3oxLCBpbnQga2x1Y3oyKSB7CiAgICBzdHJpbmcgd3luaWsgPSAiIjsKCiAgICBrbHVjejEgJT0gMjY7CiAgICBrbHVjejIgJT0gMjY7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0ZWtzdC5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChpICUgMiA9PSAwKQogICAgICAgICAgICB3eW5payArPSBzenlmcnVqX3puYWsodGVrc3RbaV0sIGtsdWN6Mik7IC8vIG5hanBpZXJ3IGtsdWN6MgogICAgICAgIGVsc2UKICAgICAgICAgICAgd3luaWsgKz0gc3p5ZnJ1al96bmFrKHRla3N0W2ldLCBrbHVjejEpOyAvLyBwb3RlbSBrbHVjejEKICAgIH0KCiAgICByZXR1cm4gd3luaWs7Cn0KCmludCBtYWluKCkgewogICAgY291dCA8PCBzenlmcnVqMigicG91Zm55dGVrc3QiLCAzLCAxMCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgc3p5ZnJ1ajIoInBvY3pla2FqbmFtbmllIiwgMTIzLCA1KSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=