#include #include 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; }