Шифр перестановки - 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("Очень много символов. Хочу меньше.");
}
}
}
}