Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- string zakodujWiadomosc(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 odkodujWiadomosc(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 = zakodujWiadomosc(wiadomosc);
- cout << "Zakodowana wiadomość: " << zakodowanaWiadomosc << endl;
- } else if (wybor == 2) {
- string odkodowanaWiadomosc = odkodujWiadomosc(wiadomosc);
- cout << "Odkodowana wiadomość: " << odkodowanaWiadomosc << endl;
- } else {
- cout << "Nieprawidłowy wybór." << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement