Шифр перестановки - C# (180880)
Формулировка задачи:
проблемка такая. сделал зашифровку текста по ключу. но расшифровка никак не выходит. прилагаю проект. может кто помочь? нужно чтобы на этой же форме была расшифровка ранее зашифрованного текста
Решение задачи: «Шифр перестановки»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int аnswer = 0; string text = textBox1.Text; //Random rnd = new Random(); string key = textBox2.Text; //string key = "013245"; // MessageBox.Show(key); int row_count = (int)Math.Floor((decimal)(text.Length / 6) + 1); char[,] mass = new char[6, row_count]; char[,] rez = new char[6, row_count]; if (textBox1.Text.Length <= 40) { // - - - - - - - - - ИНИЦИАЛИЗАЦИЯ - - - - - -- - - - -- - - -- - - - -- - - - -- - - // for (int x = 0; x < row_count; x++) { for (int y = 0; y < 6; y++) { mass[y, x] = ' '; //rez[y, x] = ' '; } } int q = 0; // - - - - - - - - - ЗАПОЛНЕНИЕ МАТРИЦЫ - - - - - -- - - - -- - - -- - - - -- - - - -- - - // for (int x = 0; x < row_count; x++) { for (int y = 0; y < 6; y++) { if (q < text.Length) { mass[y, x] = text[q]; q++; } } } // - - - - - - - - - ПРЕОБРАЗОВАНИЕ МАТРИЦЫ - - - - - -- - - - -- - - -- - - - -- - - - -- - - аnswer = key[0]; int c, b = 0; for (int x = 0; x < row_count; x++) { c = 0; for (int y = 0; y < 6; y++) { rez[y, x] = mass[int.Parse(key[c].ToString()), x]; richTextBox1.Text += rez[y, x]; c++; } } } else { MessageBox.Show("Очень много символов. Хочу меньше."); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д