В четных строках матрицы поменять местами максимальные и минимальные значения - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д