Шифр Цезаря: чтобы было еще ключевое слово и возможность дешифрования - C#
Формулировка задачи:
Здравствуйте уважаемые.
Написал прогу реализующую шифр Цезаря со смешением. Все работает.
Помогите пожалуйста переделать ее так, чтобы было еще ключевое слово и возможность дешифрования.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace cezar { class Program { static void Main(string[] args) { int n = 1, key = 1; //количество сдвигов Console.WriteLine("Введите слово,которое нужно зашифровать:"); string s = Console.ReadLine();//храню слово, которое будем шифровать Console.WriteLine("Введите ключ:"); key = Convert.ToInt32(Console.ReadLine()); string s1 = "";//храню результат шифрования //string alf = "abcdefghijklmnopqrstuvwxyz";//работаю с английским алфавитом string alfphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";//работаю с русским алфавитом int m = alfphabet.Length; //количество знаков в алфавите for (int i = 0; i < s.Length; i++)//цикл перебора букв шифруемого слова { for (int j = 0; j < alfphabet.Length; j++)//цикл сравнения каждой бкувы с алфавитом { if (s[i] == alfphabet[j]) // в случае совпадения создаем темп, где храню номер буквы со сдвигом { int temp = j * n + key;//номер буквы+сдвиг в темп while (temp >= m)//чтобы темп не уходил за рамки алфавита temp -= m; s1 = s1 + alfphabet[temp];//заношу зашифрованную букву в переменную для ее хранения } } } Console.WriteLine("Зашифрованное слово:" + s1); Console.ReadLine(); } } }
Ну хоть кто нибудь...
Решение задачи: «Шифр Цезаря: чтобы было еще ключевое слово и возможность дешифрования»
textual
Листинг программы
ch = ch + 1 //ch = 1072 + 1 = 1073 = б
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д