С# МЕТОД ПОЛИБИЯ шифрование и дишифрование \ ввод слова в консоли - C#
Формулировка задачи:
Доброе время суток!
Помогите пожалуйста! Выручайте!
На С# раньше не приходилось работать, поэтому я новичок! Как преобразить этот код, чтобыпользователь мог вводить слова через клавиатуру и оно шифровалось Методом Полибия
, а затем таким же способом после ввода определенных цифр пользователем расшифровалось!Например:
Пользователь ввел слова АЛМа и в результате вышло 11 24 25 44, и наоборот пользователь ввел 11 24 25 44 в результате вышло АЛМа. Так же надо учесть что есть строчные и прописные буквы!Полное описание задания:
Заполнить прямоугольник Полибия, в котором нужно отобразить все буквы русского алфавита от а до я и от А до Я плюс символы: пробел, точка, двоеточие, восклицательный знак, вопросительный знак и запятая ( всего 72 символа). Методом Полибия зашифровать любую фразу, введенную с клавиатуры. Затем уже расшифровать зашифрованную строку.
А вот и сам код:
Возможно его можно как-то преобразовать?!Выручайте, ребята! Буду очень благодарен вам!
using System;
namespace Nurzone
{
static class Program
{
static string[] mat = new string[] {
"АБВГДЕЖЗ",
"ИЙКЛМНОП",
"РСТУФХЦЧ",
"ШЩЪЫЬЭЮЯ"
};
static void Main(string[] args)
{
var text = "АЛМА";
var result = String.Join(" ", Array.ConvertAll(text.ToCharArray(), encode));
Console.WriteLine(result);
Console.ReadKey();
}
private static string encode(char input)
{
for (int i = 0; i < mat.Length; i++)
{
var k = mat[i].IndexOf(input);
if (k >= 0) return String.Format("{0}{1}", i + 1, k + 1);
}
return "";
}
}
}Решение задачи: «С# МЕТОД ПОЛИБИЯ шифрование и дишифрование \ ввод слова в консоли»
textual
Листинг программы
static void Main(string[] args)
{
// Создаем алфавит и выводим на экран
string alp = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
alp += alp.ToLower(); // в нижнем регистре
alp += " .:!?,";
PTable pTable = new PTable(9, 8, alp);
Console.WriteLine("Таблица:\r\n" + pTable);
Console.WriteLine("Введите слово для шифровки");
string text = Console.ReadLine();
Console.WriteLine("Закодированное слово: " + pTable.encode(text));
try
{
Console.WriteLine("Введите слово для дешифровки");
text = Console.ReadLine();
Console.WriteLine("Дешифрованное слово: " + pTable.decode(text));
}
catch
{
Console.WriteLine("Попались неизвестные символы");
}
Console.ReadLine();
}