Поменять местами элементы главной и побочной диагонали целочисленного двумерного массива - C#
Формулировка задачи:
Замечание. Для хранения массив n×n использовать двумерный или ступенчатый массив. Свой
выбор обосновать. Поменять местами элементы главной и побочной диагонали.
Решение задачи: «Поменять местами элементы главной и побочной диагонали целочисленного двумерного массива»
textual
Листинг программы
private void button4_Click(object sender, EventArgs e)
{
/// нулями после масива хзоть с 1 нулем
int n = 5;
Random gen = new Random();
string sMassiv = "";
string sMassivNew = "";
int[,] myMatrix = new int[n,n];
int[,] myMatrixNew = new int[n, n];
int[] mainD = new int[n];
int[] secondD = new int[n];
/// запоминаем диагонали
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
myMatrix[i, j] = gen.Next(0, 100);
if (i == j)
mainD[i] = myMatrix[i, j];
if (i == 4 - j)
secondD[i] = myMatrix[i, j];
}
// меняем местами
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
myMatrixNew[i, j] = myMatrix[i, j];
if (i == 4 - j)
myMatrixNew[i, j] = mainD[i];
if (i == j)
myMatrixNew[i, j] = secondD[i];
}
for (int i = 0; i < n; i++)
{
sMassiv += "\n";
sMassivNew += "\n";
for (int j = 0; j < n; j++)
{
sMassiv += myMatrix[i, j] + ";";
sMassivNew += myMatrixNew[i, j] + ";";
}
}
MessageBox.Show("Начальный массив:\n" + sMassiv + "\n" + "Главная диагональ:\n" + string.Join(";", mainD) + "\n" + "Побочная диагональ:\n" + string.Join(";", secondD)+"\n Получившийся массив:\n" + sMassivNew);
}