Шифр Цезаря - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д