Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- string zakoduj_wiadomosc(string wiadomosc)
- {
- string zakodowana = "";
- string alfabet = "abcdefghijklmnopqrstuvwxyz";
- for (int i = 0; i < wiadomosc.length(); i++)
- {
- if (wiadomosc[i] >= 'a' && wiadomosc[i] <= 'z')
- {
- int index = wiadomosc[i] - 'a';
- // Przesunięcie o 1 wstecz bez używania modulo
- if (index == 0)
- {
- index = 25; // przesunięcie 'a' na 'z'
- } else
- {
- index = index - 1;
- }
- zakodowana += alfabet[index];
- } else {
- // Pozostaw inne znaki bez zmian
- zakodowana += wiadomosc[i];
- }
- }
- return zakodowana;
- }
- // Funkcja do dekodowania wiadomości
- string odkoduj_wiadomosc(string wiadomosc)
- {
- string odkodowana = "";
- string alfabet = "abcdefghijklmnopqrstuvwxyz";
- for (int i = 0; i < wiadomosc.length(); i++)
- {
- if (wiadomosc[i] >= 'a' && wiadomosc[i] <= 'z')
- {
- int index = wiadomosc[i] - 'a';
- // Przesunięcie o 1 do przodu bez używania modulo
- if (index == 25)
- {
- index = 0; // przesunięcie 'z' na 'a'
- } else
- {
- index = index + 1;
- }
- odkodowana += alfabet[index];
- } else {
- // Pozostaw inne znaki bez zmian
- odkodowana += wiadomosc[i];
- }
- }
- return odkodowana;
- }
- int main()
- {
- string wiadomosc;
- int wybor;
- cout << "Witaj w programie 'Łamacz kodów'!" << endl;
- cout << "Wybierz operację: \n1. Zakoduj wiadomość\n2. Odkoduj wiadomość\nWybór: ";
- cin >> wybor;
- cin.ignore(); // Usuwa znak nowej linii z bufora po cin
- cout << "Wprowadź wiadomość: ";
- getline(cin, wiadomosc);
- if (wybor == 1)
- {
- string zakodowanaWiadomosc = zakoduj_wiadomosc(wiadomosc);
- cout << "Zakodowana wiadomość: " << zakodowanaWiadomosc << endl;
- } else if (wybor == 2)
- {
- string odkodowanaWiadomosc = odkoduj_wiadomosc(wiadomosc);
- cout << "Odkodowana wiadomość: " << odkodowanaWiadomosc << endl;
- } else
- {
- cout << "Nieprawidłowy wybór." << endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment