В матрице найти наибольший элемент и поменять местами с диагональным - C#

Узнай цену своей работы

Формулировка задачи:

В каждой строке матрицы A(n,n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.

Решение задачи: «В матрице найти наибольший элемент и поменять местами с диагональным»

textual
Листинг программы
class Program
    {
 
 
        static void Main(string[] args)
        {
            Console.Write("Enter matrix size : ");
            string sizeString = Console.ReadLine();           
 
            int size;
            if (!int.TryParse(sizeString, out size))
            {                 
                return;
            }
 
            int[,] matrix = CreateMatrix(size);
            PrintMatrix(matrix, size);
 
            int[,] matrixResult = DoTask(matrix, size);
            PrintMatrix(matrixResult, size);
            
            Console.ReadLine();
        }
 
        static int[,] CreateMatrix(int size)
        {
            int[,] matrix = new int[size, size];
 
            Random generator = new Random();
 
            for (int i = 0; i < size; i++)
            {
                for (int j = 0; j < size; j++)
                {
                    matrix[i, j] = generator.Next(10, 99);
                }                 
            }
 
            return matrix;
        }
 
        static int[,] DoTask(int[,] matrix, int size)
        {
            for (int i = 0; i < size; i++)
            {
                int maxValue = matrix[i, 0];
                int index = 0;
 
                for (int j = 1; j < size; j++)
                {
                    if (matrix[i, j] > maxValue)
                    {
                        maxValue = matrix[i, j];
                        index = j;
                    }
                }
 
                int buffer = matrix[i, index];
                matrix[i, index] = matrix[i, i];
                matrix[i, i] = buffer;
            }
 
            return matrix;
        }
 
        static void PrintMatrix(int[,] matrix, int size)
        {
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
 
            for (int i = 0; i < size; i++)
            {
                for (int j = 0; j < size; j++)
                {
                    Console.Write(matrix[i, j] + "  ");
                }
                Console.WriteLine();
            }
        }
    }

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


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

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

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