Подскажите, что не так с моим кодом для дешифровки текста. Детерминант и матрицу алгебраических дополнений находит правильно, проверял.
private void button2_Click(object sender, EventArgs e)
{
// Нахожу определитель ключа и делю по модулю на длину алфавита
double key_det = digital_key.Det() % alf.Length;
textBox9.Text = key_det.ToString();
// Нахожу элемент обратный детерминанту
int obr_det = 0;
while (((key_det * obr_det) % alf.Length != 1) && obr_det < alf.Length)
{
obr_det++;
}
textBox11.Text = obr_det.ToString();
// Нахожу матрицу алгебраических дополнений ключа и делю по модулю на длину алфавита
Matrix key_dop = digital_key.AlgebDop();
for (int i = 0; i < key_dop.n; i++)
{
for (int j = 0; j < key_dop.m; j++)
{
key_dop.M[i, j] = key_dop.M[i, j] % alf.Length;
if (key_dop.M[i, j] < 0)
key_dop.M[i, j] = key_dop.M[i, j] * (-1);
textBox10.Text += String.Format("{0,6}", key_dop.M[i, j]) + " ";
}
textBox10.Text += "\r\n";
}
// Нахожу обратную матрицу и делю по модулю на длину алфавита
Matrix Obr_key= key_dop * obr_det;
for (int i = 0; i < Obr_key.n; i++)
{
for (int j = 0; j < Obr_key.m; j++)
{
Obr_key.M[i, j] = Obr_key.M[i, j] % alf.Length;
textBox7.Text += String.Format("{0:0.00}",Obr_key.M[i, j]) + " ";
}
textBox7.Text += "\r\n";
}
// Умножаю обратную матрицу ключа на столбец текста
string text = String.Empty;
for (int i = 0; i < digital_text.Count(); i++)
{
digital_text[i] = Obr_key * digital_text[i];
for (int j = 0; j < digital_text[i].n; j++)
{
digital_text[i].M[j, 0] = digital_text[i].M[j, 0] % alf.Length;
text += alf[(int)digital_text[i].M[j, 0]];
}
}
textBox8.Text += text;
}
На форме есть 2 гридаDataContext для формы - отдельный класс(ViewModel)
Я работаю с VK APIПри запросах с браузера все работает стабильно, но при запросах из моей программы английские символы возвращаются правильно,...
У меня в конторе, где я работаю, есть множество кастомных библиотекВ том числе есть свой DAL для базы данных MSSQL