Предмет: Информатика,
автор: dkdjsjdjdk
Напишите программу, которая выполняет шифрование строки с помощью шифра Цезаря.
Ответы
Автор ответа:
0
# ruby v3.2
# шифр Цезаря, key - сдвиг, для расшифровки надо взять ключ с противоположным знаком
def Encryption.CeaserCipher(text, key, alphabet) #
res = ""
dictionary, dictionary_upper = alphabet, alphabet.upcase
text.each_char do |letter|
if dictionary.include?(letter)
dic = dictionary
elsif dictionary_upper.include?(letter)
dic = dictionary_upper
else # Символ не принадлежит ни нижнему ни верхнему регистру (символ не является буквой)
res += letter
next
end
j = dic.index(letter)
res += dic[(j + key) % dic.size]
end
return res
end
Похожие вопросы
Предмет: Химия,
автор: temasmolyaninov
Предмет: Другие предметы,
автор: evelinsavchuk
Предмет: Математика,
автор: 62ybgwkrtd
Предмет: Физика,
автор: Аноним
Предмет: Литература,
автор: lizzaaaa018