.NET 4.x Дешифратор Цезаря - C#
Формулировка задачи:
Подскажите с дешифратором для Цезаря....заранее спасибо...
char[,] alphavit = {
{'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', '0', '1'},
{ '2','3', '4', '5', '6', '7', '8'},
{'9','A','B','C','D','E','F'}
};
string message = richTextBox1.Text;
string new_message = "";
for (int i = 0; i < message.Length; i++)
{
for (int j = 0; j < alphavit.GetLength(0); j++)
for (int k = 0; k < alphavit.GetLength(1); k++)
if (Char.ToLower(alphavit[j, k]) == message[i] || Char.ToUpper(alphavit[j, k]) == message[i])
{
new_message += (Convert.ToString(j) + Convert.ToString(k));
break;
}
}
richTextBox2.Text = new_message;Решение задачи: «.NET 4.x Дешифратор Цезаря»
textual
Листинг программы
static void Main()
{
Console.WriteLine(Cezar_coder("привет", 6));
Console.WriteLine(Cezar_decoder("хцоикш", 6));
}
public static string Cezar_coder(string massage, int key)
{
string alphabet_rus = "абвгеёжзийклмнопрстуфхцчшщъыьэюя";
string new_message = "";
for (int i = 0; i < massage.Length; i++)
new_message += alphabet_rus[(alphabet_rus.IndexOf(massage[i]) + key) % 33];
return "Кодируемая фраза: "+massage+" Результат: "+new_message+" Ключ= "+key;
}
public static string Cezar_decoder(string Encrypted_massage, int key)
{
string alphabet_rus = "абвгеёжзийклмнопрстуфхцчшщъыьэюя ";
string new_message = "";
for (int i = 0; i < Encrypted_massage.Length; i++)
new_message += alphabet_rus[(alphabet_rus.IndexOf(Encrypted_massage[i]) - key) % 33];
return "Декодируемая фраза: " + Encrypted_massage + " Результат: " + new_message + " Ключ= " + key;
}