Шифр вертикальной перестановки - C#
Формулировка задачи:
Добрый день.
Делаю шифр вертикальной перестановки, но не все выходит...
Из того что получилось. Входную строку сделал двумерным массивом, теперь нужно в соответствии с ключем записать результат...
Вот код.
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 МСЗИ1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int k = textBox1.Text.Length;
string[,] array = new string[7, 9];
int q = 0;
for (int i = 0; i < 7; i++)
for (int j = 0; j < 7; j++)
{
if (q < textBox1.Text.Length)
array[i, j] = Convert.ToString(textBox1.Text[q++]);
else if (q <= textBox1.Text.Length && j == 0)
break;
else array[i, j] = "-";
}
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
richTextBox2.Text += array[i, j];
richTextBox2.Text+="\n";
}
string result = "";
string key = textBox2.Text;
for (int i = 0; i < key.Length; i++)
for (int j = 0; j < 7; j++)
result += array[j, Convert.ToInt32(Convert.ToString(key[i]))+1];
richTextBox1.Text += result;
}
}
}Решение задачи: «Шифр вертикальной перестановки»
textual
Листинг программы
string[,] array = new string[7, 9];