Путем перестановки элементов квадратной вещественной матрицы добиться задуманного ее состояния - C#
Формулировка задачи:
Добрый день помогите пожалуйста с задачей.
Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в правом верхнем углу, следующий по величине – в позиции (2,j-1) и т.д., заполнив таким образом всю побочную диагональ.
Решение задачи: «Путем перестановки элементов квадратной вещественной матрицы добиться задуманного ее состояния»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int n = 5, c = 0;
int[,] m = new int[n, n];
Random rand = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
m[i, j] = rand.Next(0, 90) + 10;
Console.Write(m[i, j] + " ");
}
Console.WriteLine("\n");
}
for (int j = 0; j < n; j++)
for (int i = n - 1; i > 0; i--)
if (m[i, n - 1 - i] > m[i - 1, n - i])
{
c = m[i, n - 1 - i];
m[i, n - 1 - i] = m[i - 1, n - i];
m[i - 1, n - i] = c;
}
for (int i = 0; i<n; i++)
for (int j = 0; j<n; j++)
if (m[i, j] > m[n - 1, 0])
{
c = m[i, j];
m[i, j] = m[n - 1, 0];
m[n - 1, 0] = c;
for (int k = 0; k < n; k++)
for (int d = n - 1; d > 0; d--)
if (m[d, n - 1 - d] > m[d - 1, n - d])
{
c = m[d, n - 1 - d];
m[d, n - 1 - d] = m[d - 1, n - d];
m[d - 1, n - d] = c;
}
}
Console.WriteLine("\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
Console.Write(m[i, j] + " ");
Console.WriteLine("\n");
}
Console.ReadKey();
}
}