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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5