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.
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
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...
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_CezaraW 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.