Дешифровщик текста методом Цезаря - C#
Формулировка задачи:
Вот как должна работать программа, заливаем зашифрованный текст, кликаем на кнопку дешифровки, после чего идет подбор сдвига начиная с 1 и т.д., после того как программа делает сдвиг, она начинает проверять по словарю на совпадение слов,если совпадение со словарем найдено, то программа проверяет таким же образом последующие 3 слова на этот же сдвиг и ищет совпадение в словаре, если проверка удачна то программа дешифрует дальше по этому сдвигу, ну а если не удачно, то дальше ищет сдвиг.
Решение задачи: «Дешифровщик текста методом Цезаря»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int n = 1, key = 1;
Console.WriteLine("Введите слово,которое нужно дешифровать:");
string a = Console.ReadLine();
Console.WriteLine("Введите ключ:");
key = Convert.ToInt32(Console.ReadLine());
string a1 = " ";
string alfphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
int m = alfphabet.Length;
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < alfphabet.Length; j++)
{
if (a[i] == alfphabet[j])
{
int temp = j * n - key;
while (temp < 0)
temp += m;
a1 = a1 + alfphabet[temp];
}
}
}
Console.WriteLine("Дешифрованное слово:" + a1);
Console.ReadKey();
}
}
}