Шифр Гронсфельда на C# получается не то что надо
Формулировка задачи:
Помогите с шифром Гронсфельда, сделал программу ,но она берет целый ключ, а не по одной цифре
Решение задачи: «Шифр Гронсфельда на C# получается не то что надо»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Гронсфельд
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox3.Text = "";
int key = 0;
string[] array = new string[] { "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я" };
try
{
key = Convert.ToInt32(textBox1.Text);
}
catch
{
MessageBox.Show("Установите шаг шифрования!");
return;
}
string[] array2;
array2 = array.Skip(key).Concat(array.Take(key)).ToArray();
//Данная функция смещает по кругу ячейки массива. Для расшифровки меняет ключ на противоположный знак
foreach (string element in array2)
{
}
string text = textBox2.Text;
foreach (char bykva in text)
{
for (int i = 0; i < array.Length; i++)
{
if (bykva.ToString().ToLower() == array[i])
{
textBox3.Text += array2[i];
break;
}
else
{// эти знаки печатаются без зашифровки
if (bykva.ToString() == " " || bykva.ToString() == "." ||
bykva.ToString() == "," || bykva.ToString() == ":" ||
bykva.ToString() == ";" || bykva.ToString() == "?" ||
bykva.ToString() == "!")
{
textBox3.Text += " ";
break;
}
}
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}