Есть такой код:
int n = 6;
char[,] matrix = new char[n, n];
void InsertText(char[,] matrix, string text, int n)
{
int temp = 0;
for (int diff = 1 - n; diff <= n - 1; diff++)
for (int i = 0; i < n; i++)
{
int j = i - diff;
if (j < 0 || j >= n)
continue;
matrix[i, j] = text[temp];
temp++;
}
}
void EncryptMatrix(char[,] matrix)
{
for (int i = 0; i < matrix.GetLength(0); i++)
for (int j = 0; j < matrix.GetLength(1); j++)
dataGridView1.Rows[i].Cells[j].Value = matrix[i, j];
}
Если string text = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ "; (в конце еще три пробела), то он записывает всё правильно, но если строку сократить, то выдает ошибку о том, что выходит за границу массива (text). Пытался сделать так, мол "если temp < text.length, то matrix[i, j] = text[temp], else matrix[i,j] = ' ';" но у меня так не получилось.
На картинке показано как должно выглядеть, при условии если не убирать пробелы в конце переменной text. Пожалуйста, помогите разобраться. Никак не могу понять что не так.
Просто прервите циклы с помощью break
при условии если temp < text.length
Возможно, более разумно было бы делать общий цикл по длине строки (с другой арифметикой), в начале проверяя, что матрица достаточно велика.
Есть вот такой код простого конвертера валют(SOM - это валюта Кыргызстана)
При открытии сайтов должны игнорироваться x-frame-options (запрет на открытие некоторых страниц в iframe, в браузерах решается установкой мини-плагина)
Проблема следующая: создан проект wpf (с использованием фреймов и страниц)В отладке все стабильно работает, но после установки запускается...
Добрый день, пытаюсь произвести сериализацию объекта на C# через FileStream, но почему то конструктор FileStream "ругается" на запись пути к файлуКод: