fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. // Funkcja szyfrująca pojedynczy znak (tylko małe litery a-z)
  6. char szyfruj_znak(char znak, int klucz) {
  7. if (znak < 'a' || znak > 'z') {
  8. return znak; // pozostaw inne znaki bez zmian
  9. }
  10. int litera_alfabetu = int(znak) - 'a';
  11. int kod_nowej_litery = (litera_alfabetu + klucz) % 26;
  12. return char(kod_nowej_litery + 'a');
  13. }
  14.  
  15. // Funkcja szyfrująca cały tekst naprzemiennie kluczami
  16. string szyfruj2(string tekst, int klucz1, int klucz2) {
  17. string wynik = tekst;
  18. for (size_t i = 0; i < tekst.size(); i++) {
  19. if (i % 2 == 0) {
  20. wynik[i] = szyfruj_znak(tekst[i], klucz1);
  21. } else {
  22. wynik[i] = szyfruj_znak(tekst[i], klucz2);
  23. }
  24. }
  25. return wynik;
  26. }
  27.  
  28. int main() {
  29. cout << szyfruj2("poufnytekst", 3, 10) << endl;
  30. cout << szyfruj2("poczekajnamnie", 23, 5) << endl;
  31. return 0;
  32. }
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
syxpqiwoncw
mtzebpxokfjsfj