Переставить строки и столбцы матрицы так, чтобы минимальный по модулю элемент находился в правом нижнем углу - C#
Формулировка задачи:
Переставить строки и столбцы матрицы местами так, чтобы минимальный по модулю элемент находился в правом нижнем углу.
Решение задачи: «Переставить строки и столбцы матрицы так, чтобы минимальный по модулю элемент находился в правом нижнем углу»
textual
Листинг программы
- static void Main(string[] args)
- {
- Console.Write("Введите N : ");
- int N = Convert.ToInt32(Console.ReadLine());
- Console.Write("Введите M : ");
- int M = Convert.ToInt32(Console.ReadLine());
- List<List<int>> Array = new List<List<int>>();
- Random rand = new Random();
- for (int i = 0; i < N; i++)
- {
- List<int> arr = new List<int>();
- for (int j = 0; j < M; j++)
- {
- arr.Add(rand.Next(0, 10));
- Console.Write(arr[j] + " ");
- }
- Array.Add(arr);
- Console.WriteLine();
- }
- int MaxCol = 0;
- int MaxRow = 0;
- for(int i = 0; i < Array.Count; i++)
- {
- for(int j = 0; j < Array[0].Count; j++)
- {
- if (Math.Abs(Array[i][j]) < Math.Abs(Array[MaxRow][MaxCol]))
- {
- MaxRow = i;
- MaxCol = j;
- }
- }
- }
- Console.WriteLine();
- for(int i = 0; i < Array[0].Count; i++)
- {
- var value = Array[Array.Count - 1][i];
- Array[Array.Count - 1][i] = Array[MaxRow][i];
- Array[MaxRow][i] = value;
- }
- for (int i = 0; i < Array.Count; i++)
- {
- var value = Array[i][Array[0].Count - 1];
- Array[i][Array[0].Count - 1] = Array[i][MaxCol];
- Array[i][MaxCol] = value;
- }
- for (int i = 0; i < Array.Count; i++)
- {
- for (int j = 0; j < Array[0].Count; j++)
- {
- Console.Write(Array[i][j] + " ");
- }
- Console.WriteLine();
- }
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д