В матрице поменять местами столбец с номером N с тем, который содержит только отрицательные элементы - C#

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

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

Вот эта не понятная. Есть решение у кого? Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

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

textual
Листинг программы
  1. class Program
  2.     {
  3.         static void Show(int[,] mas)
  4.         {
  5.             for (int i = 0; i < mas.GetLength(0); i++)
  6.             {
  7.                 for (int j = 0; j < mas.GetLength(1); j++)
  8.                 {
  9.                     Console.Write(" " + mas[i, j] + " ");
  10.                 }
  11.                 Console.WriteLine();
  12.             }
  13.         }
  14.  
  15.         static void Main()
  16.         {
  17.             Console.Write("Введите M: ");
  18.             int M = int.Parse(Console.ReadLine());
  19.             Console.Write("Введите N: ");
  20.             int N = int.Parse(Console.ReadLine());
  21.  
  22.             int[,] array = new int[M, N];
  23.             Random random = new Random();
  24.  
  25.             for (int i = 0; i < M; i++)
  26.             {
  27.                 for (int j = 0; j < N; j++)
  28.                 {
  29.                     array[i, j] = random.Next(-9, 10);
  30.                 }
  31.             }
  32.             Show(array);
  33.  
  34.             int buf = -1;
  35.            
  36.             for (int i = 0; i < N; i++)
  37.             {
  38.                 int count = 0;
  39.                 for (int j = 0; j < M; j++)
  40.                 {
  41.                     if (array[j, i] > 0)
  42.                     {
  43.                         break;
  44.                     }
  45.                     count++;
  46.                 }
  47.                 if (count == M)
  48.                 {
  49.                     buf = i;
  50.                     break;
  51.                 }
  52.                 count = 0;
  53.             }
  54.  
  55.             if (buf >= 0)
  56.             {
  57.                 Console.Write("Введите столбец, который нужно поменять: ");
  58.                 int K = int.Parse(Console.ReadLine());
  59.                 if (K > N) throw new IndexOutOfRangeException();
  60.  
  61.  
  62.                 int buf1 = 0;
  63.                 for (int i = 0; i < M; i++)
  64.                 {
  65.                     buf1 = array[i, buf];
  66.                     array[i, buf] = array[i, K];
  67.                     array[i, K] = buf1;
  68.                 }
  69.  
  70.                 Show(array);
  71.             }
  72.             Console.ReadLine();
  73.         }

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


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

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

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

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

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

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