fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char szyfruj_znak(char znak, int klucz) {
  5. int numer = znak - 'a'; // zamiana litery na liczbę 0-25
  6. klucz = klucz % 26; // skrócenie klucza (np. 123 → 19)
  7. int nowy = (numer + klucz) % 26; // przesunięcie
  8. return char(nowy + 'a'); // zamiana z powrotem na literę
  9. }
  10.  
  11. string szyfruj2(string tekst, int klucz1, int klucz2) {
  12. string wynik = "";
  13.  
  14. for (int i = 0; i < tekst.length(); i++) {
  15. if (i % 2 == 0) { // pozycje parzyste (0,2,4...)
  16. wynik += szyfruj_znak(tekst[i], klucz1);
  17. } else { // pozycje nieparzyste (1,3,5...)
  18. wynik += szyfruj_znak(tekst[i], klucz2);
  19. }
  20. }
  21.  
  22. return wynik;
  23. }
  24.  
  25. int main() {
  26. cout << szyfruj2("poufnytekst", 3, 10) << endl;
  27. cout << szyfruj2("poczekajnamnie", 123, 5) << endl;
  28. return 0;
  29. }
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
syxpqiwoncw
itvexptogffsbj