SZYFR CEAZARA LICEUM

SZYFR CEAZARA LICEUM
K6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Jestem w liceum i aktualnie na informatyce mamy szyfrowanie. Polecenie:
Napisz program wczytujący tekst i szyfrujący go Szyfrem Cezara. Klucz do szyfru w postaci wyrazu podaje użytkownik.

Kopiuj
int main()
{
    int klucz;
    string wyraz;

    cout << "Podaj wyraz: ";
    getline(cin,wyraz);

    cout << "Podaj klucz: ";
    cin >> klucz;

    for(int i=0;i<wyraz.length();i++)
    {
        
    }

    for(int i=0;i<wyraz.length();i++)
        cout << wyraz[i];

    return 0;
}

Nie rozumiem 2 części polecenia. Jaki dokładnie ma wpływ klucz w postaci wyrazu. Proszę o łatwe wyjaśnienie

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
4

Coś nie gra
Szyfr Cezara charakteryzuje się jedynie przesunięciem, a nie "kluczem"

https://pl.wikipedia.org/wiki/Szyfr_Cezara

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
0

Napisz od razu część odkodowującą bo bez tego nie będziesz miała pewności czy w danych nie są jakieś śmieci.
Jak chcesz pogłębić temat dodaj proces łamiący szyfr (wyszukujący np. hasło na podstawie pary tekst + szyfrogram lub tekst na podstawie szyfrogramu).

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

Normalnie szyfr cezara dodaje do liter wartość 3, czyli a -> d, g -> j itp.
Ty masz dodać wartość arbitralną do liter.
uzupełnij ten kod:

Kopiuj
std:string cezar(std::string s, int key)
{
    ...........
}

int main()
{
    int klucz;
    std::string linia;

    std::cout << "Podaj klucz: ";
    std::cin >> klucz;

    std::cout << "dane do zaszyfrowania: ";
    while(std::getline(std::cin, linia)) {
         std::cout << cezar(linia, klucz) << '\n';
    }
    return 0;
}
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Szyfr Vigenera to nic innego jak Cezar, tylko z kilkoma różnymi przesunięciami określonymi przez słowo kluczowe. Jeśli kluczem jest ABC to pierwszą literę przesuwamy o 1, drugą o 2, trzecią o 3, czwartą znów o 1 itd. Jeśli klucz ma 1 literę to szyfry są sobie równoważne.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.