Szyfr przestawieniowy

0

Witam,
zaimplementowałem już szyfr, działa mi przesunięcie oraz małe i duże litery.
Moim pytaniem jest jak zaimplementować polskie znaki jak "ą,ę" itd.?
Czy będę musiał dać każdego ifa na takie znaki?
Pozdrawiam.

1

Szyfr Cezara o który pytasz oryginalnie nie obsługiwał cyfr - o ile wiem (alfabet rzymski).
Żeby je obsłużyć musisz zrobić tablicę wszystkich znaków, znaleźć znak wejściowy w tablicy i obliczyć jego pozycję. Potem dodać n i obliczyć nową pozycję.
Dodanie obsługi polskich znaków do takiego algorytmu to po prostu rozszerzenie tablicy obsługiwanych znaków z 26 do 32.
Zmiana tego algorytmu z przesuwającego na podstawieniowy to też pryszcz - wystarczy mieć drugą tablicę znaków wyjściowych i z niej korzystać przy obliczaniu znaku wyjściowego.

Opis wersji podstawowej:
https://pl.wikipedia.org/wiki/Szyfr_Cezara

0
vpiotr napisał(a):

Szyfr Cezara o który pytasz oryginalnie nie obsługiwał cyfr - o ile wiem (alfabet rzymski).
Żeby je obsłużyć musisz zrobić tablicę wszystkich znaków, znaleźć znak wejściowy w tablicy i obliczyć jego pozycję. Potem dodać n i obliczyć nową pozycję.
Dodanie obsługi polskich znaków do takiego algorytmu to po prostu rozszerzenie tablicy obsługiwanych znaków z 26 do 32.
Zmiana tego algorytmu z przesuwającego na podstawieniowy to też pryszcz - wystarczy mieć drugą tablicę znaków wyjściowych i z niej korzystać przy obliczaniu znaku wyjściowego.

Opis wersji podstawowej:
https://pl.wikipedia.org/wiki/Szyfr_Cezara

W ogóle nie odpowiedziałeś na moje pytanie. Korzystam z tablicy ASCII więc pytaniem moim jest jak zrobić 26 na 32 bo proste dzielenie modulo nie wystarczy. Bo same "ć" jest reprezentowane przez g bez przesunięcia...

0
fracuer napisał(a):
vpiotr napisał(a):

Szyfr Cezara o który pytasz oryginalnie nie obsługiwał cyfr - o ile wiem (alfabet rzymski).
Żeby je obsłużyć musisz zrobić tablicę wszystkich znaków, znaleźć znak wejściowy w tablicy i obliczyć jego pozycję. Potem dodać n i obliczyć nową pozycję.
Dodanie obsługi polskich znaków do takiego algorytmu to po prostu rozszerzenie tablicy obsługiwanych znaków z 26 do 32.
Zmiana tego algorytmu z przesuwającego na podstawieniowy to też pryszcz - wystarczy mieć drugą tablicę znaków wyjściowych i z niej korzystać przy obliczaniu znaku wyjściowego.

Opis wersji podstawowej:
https://pl.wikipedia.org/wiki/Szyfr_Cezara

W ogóle nie odpowiedziałeś na moje pytanie. Korzystam z tablicy ASCII więc pytaniem moim jest jak zrobić 26 na 32 bo proste dzielenie modulo nie wystarczy. Bo same "ć" jest reprezentowane przez g bez przesunięcia...

Fakt, przepraszam.
Już działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1