Двойная перестановка по ключу - C#
Формулировка задачи:
Здравствуйте. Может кто поделиться наработками касаемо алгоритма двойной перестановки по ключу на C#?
Массивы всегда были моей больной темой, а здесь, по алгоритму, надо сначала столбцы в соответствии с ключом поменять, а потом уже и строки переставить. На листике это сделать просто, чего не скажешь о программе, реализующей это.
Желательно, консольная версия. Спасибо за внимание!
Решение задачи: «Двойная перестановка по ключу»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string[,] arr = new string[,] {
{"н","и","а","е"},
{"а","м","к","л"},
{"п","а","ж","ь"},
{"и","е","е","н"},
{"с","т","т","а"},
{"а","9","р","я"},
{"н","0","е","ш"},
{"и","%","б","л"},
{"е","в","у","и"},
{"п","р","ю","ф"},
{"е","е","т","о"},
{"р","м","9","в"},
{"в","е","0","к"},
{"ы","н","%","а"},
{"х","и","в","-"},
{"9",".","р","е"},
{"о","о","е","щ"},
{"%","с","м","е"},
{"п","т","е","9"},
{"р","а","н","0"},
{"а","м","к","л"},
{"о","в","и","%"},
{"г","ш",",","в"},
{"р","и","а","р"},
{"а","е","о","е"},
{"м","с","к","м"},
{"м","я","о","е"},
{"ы","1","н","н"},
{"3","0","ч","и"},
{"а","%","а"," "},
{"н","т","т"," "},
};
Console.WriteLine("Массив");
for (int i = 0; i < arr.GetLength(0); i++,Console.WriteLine(" "))
{
for (int j = 0; j < arr.GetLength(1); j++)
Console.Write("{0,5}", arr[i, j]);
} Console.ReadKey();
Console.WriteLine("Введите ключ для столбцов");
int keystolb = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите ключ для строк");
int keystr = Convert.ToInt32(Console.ReadLine());
} Console.ReadKey();
}
}
}