Шифр Цезаря - C# (184497)
Формулировка задачи:
Алфавит представляет из себя массив символов и задается методом setAlphabet;
Значение сдвига задается методом setShift, сдвиг алфавита осуществлять вправо;
Шифрование производится в методе encode, если исходная строка содержит символ отсутствующий в алфавите, то символ не кодировать. Метод должен возвращать зашифрованный текст.
public class CesarCipher { public char[] Alphabet { private get; set; } public int Shift { private get; set; } public string Encode(string plainText) { // Реализация return encoded_text; } } Вот что сделал, помогите плз public class CesarCipher { string encrypt_text = "The quick brown fox jumps over the lazy dog"; int shift = 3; public char[] Alphabet { private get; set; } char[] alphabet = new char[26] {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q', 'R','S','T','U','V','W','X','Y','Z'}; public int Shift { private get; set; } public string Encode(string plainText) { // Реализация return encoded_text; } }
Решение задачи: «Шифр Цезаря»
textual
Листинг программы
class Program { class CaesarCipher { public static string Alphabet { get; set; } public static int Shift { private get; set; } public static string Encryption(string text ) { text = text.ToLower(); var res = new StringBuilder(); for (int i = 0; i < text.Length; i++) for (int j = 0; j < Alphabet.Length; j++) if (text[i] == Alphabet[j]) res.Append(Alphabet[(j + Shift) % Alphabet.Length]); return res.ToString(); } public static string Decryption(string crypt) { crypt = crypt.ToLower(); var res = new StringBuilder(); for (int i = 0; i < crypt.Length; i++) for (int j = 0; j < Alphabet.Length; j++) if (crypt[i] == Alphabet[j]) res.Append(Alphabet[(j - Shift + Alphabet.Length) % Alphabet.Length]); return res.ToString(); } } static void Main(string[] args) { CaesarCipher.Alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; CaesarCipher.Shift = 3; string text = "текст"; Console.WriteLine("Текст {0}", text); string crypt = CaesarCipher.Decryption(text); Console.WriteLine("Шифруем текст: {0}", crypt); text = " "; text = CaesarCipher.Encryption(crypt); Console.WriteLine("Дешифруем текст: {0}", text); CaesarCipher.Alphabet = "abcdefghijklmnopqrstuvwxyz"; text = "tekst"; Console.WriteLine("Текст {0}", text); crypt = CaesarCipher.Decryption(text); Console.WriteLine("Шифруем текст: {0}", crypt); text = " "; text = CaesarCipher.Encryption(crypt); Console.WriteLine("Дешифруем текст: {0}", text); Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д