В четных строках матрицы поменять местами максимальные и минимальные значения - C#

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

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

Дана квадратная матрица порядка n. Преобразовать исходную матрицу по правилу: в четных строках поменять местами максимальные и минимальные значения. Решаю данную задачу на C#. Массив инициализирую. Заполняю случайными числами. Четные строки пытаюсь определять условием (i % 2 == 0), но беда в том что минимальные и максимальные ищет во всех строках. Помогите пожалуйста понять, каким образом лучше определять четные строки и менять в них местами максимальное и минимальное число.
static void Main()
        {
            int n;
            Random rand = new Random();
            Console.Write("Введите размерность: ");
            n = int.Parse(Console.ReadLine());
 
            //Инициализация массива
            int[,] myArray;
            myArray = new int[n, n];
 
            //Заполнение массива
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    myArray[i, j] = rand.Next(-20, 20);
            //Вывод массива 
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++)
                    Console.Write(myArray[i, j] + "\t");
                Console.WriteLine();   
                }
            int min = 1;
            int max = 1;
 
            for (int j = 0; j < n; j++)
            {
                for (int i = 0; i < n; i++)
                {
                    if ( i % 2 == 0)
                    {
                        if (min > myArray[i, j])
                        {
                            min = myArray[i, j];
                        }
                        if (max < myArray[i, j])
                        {
                            max = myArray[i, j];
                        }
                    }
                }
 
            }
            Console.WriteLine("Минимальный элемент: " +min);
            Console.WriteLine("Максимаьный элемент: " +max);
            Console.ReadKey();
        }

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

textual
Листинг программы
 int n;
            Random rand = new Random();
            Console.Write("Введите размерность: ");
            n = int.Parse(Console.ReadLine());
 
            //Инициализация массива
            int[,] myArray;
            myArray = new int[n, n];
 
            //Заполнение массива //Вывод массива 
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    myArray[i, j] = rand.Next(-20, 20);
                    Console.Write(myArray[i, j] + "\t");
                }
                Console.WriteLine();
            }
 
            for (int i = 0; i < n; i++)
            {
                int min = 0, max = 0, maxIndexJ = 0, minIndexJ = 0;
                if (i%2 == 0)
                {
                    for (int j = 0; j < n; j++)
                    {
 
                        if (min > myArray[i, j])
                        {
                            min = myArray[i, j];
                            minIndexJ = j;
                        }
                        if (max < myArray[i, j])
                        {
                            max = myArray[i, j];
                            maxIndexJ = j;
                        }
 
                    }
                    var temp = myArray[i, maxIndexJ];
                    myArray[i, maxIndexJ] = myArray[i, minIndexJ];
                    myArray[i, minIndexJ] = temp;
                }
            }
 
            Console.WriteLine("Преобразованный массив: ");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(myArray[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.ReadKey();

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


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

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

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