Переставить строки и столбцы матрицы так, чтобы минимальный по модулю элемент находился в правом нижнем углу - C#

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

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

Переставить строки и столбцы матрицы местами так, чтобы минимальный по модулю элемент находился в правом нижнем углу.

Решение задачи: «Переставить строки и столбцы матрицы так, чтобы минимальный по модулю элемент находился в правом нижнем углу»

textual
Листинг программы
  1.         static void Main(string[] args)
  2.         {
  3.             Console.Write("Введите N : ");
  4.             int N = Convert.ToInt32(Console.ReadLine());
  5.             Console.Write("Введите M : ");
  6.             int M = Convert.ToInt32(Console.ReadLine());
  7.  
  8.             List<List<int>> Array = new List<List<int>>();
  9.             Random rand = new Random();
  10.  
  11.             for (int i = 0; i < N; i++)
  12.             {
  13.                 List<int> arr = new List<int>();
  14.                 for (int j = 0; j < M; j++)
  15.                 {
  16.                     arr.Add(rand.Next(0, 10));
  17.                     Console.Write(arr[j] + " ");
  18.                 }
  19.                 Array.Add(arr);
  20.                 Console.WriteLine();
  21.             }
  22.  
  23.  
  24.             int MaxCol = 0;
  25.             int MaxRow = 0;
  26.  
  27.             for(int i = 0; i < Array.Count; i++)
  28.             {
  29.                 for(int j = 0; j < Array[0].Count; j++)
  30.                 {
  31.                     if (Math.Abs(Array[i][j]) < Math.Abs(Array[MaxRow][MaxCol]))
  32.                     {
  33.                         MaxRow = i;
  34.                         MaxCol = j;
  35.                     }
  36.                 }
  37.             }
  38.  
  39.             Console.WriteLine();
  40.  
  41.             for(int i = 0; i < Array[0].Count; i++)
  42.             {
  43.                 var value = Array[Array.Count - 1][i];
  44.                 Array[Array.Count - 1][i] = Array[MaxRow][i];
  45.                 Array[MaxRow][i] = value;
  46.             }
  47.  
  48.             for (int i = 0; i < Array.Count; i++)
  49.             {
  50.                 var value = Array[i][Array[0].Count - 1];
  51.                 Array[i][Array[0].Count - 1] = Array[i][MaxCol];
  52.                 Array[i][MaxCol] = value;
  53.             }
  54.  
  55.             for (int i = 0; i < Array.Count; i++)
  56.             {
  57.                 for (int j = 0; j < Array[0].Count; j++)
  58.                 {
  59.                     Console.Write(Array[i][j] + " ");
  60.                 }
  61.                 Console.WriteLine();
  62.             }
  63.             Console.ReadKey();
  64.         }

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


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

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

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы