Путем перестановки элементов квадратной вещественной матрицы добиться задуманного ее состояния - 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();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.364 из 5
Похожие ответы