Дана целочисленная прямоугольная матрица - C# (185446)

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

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

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

Решение задачи: «Дана целочисленная прямоугольная матрица»

textual
Листинг программы
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             var m = new int[,] {
  6.                 { 4,5,-6,4 },
  7.                 { -7,0,9,2 },
  8.                 { 1,2,3,2 }
  9.             };
  10.  
  11.             // Определить количество столбцов не содержащих ни одного нулевого элемента
  12.             var nonZeroColumnsCount = Enumerable.Range(0, m.GetLength(1))
  13.                 .Count(c => Enumerable.Range(0, m.GetLength(0)).All(r => m[r, c] != 0));
  14.  
  15.             // Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
  16.             var sorted = Enumerable.Range(0, m.GetLength(0))
  17.                 .Select(r => Enumerable.Range(0, m.GetLength(1)).Select(c => m[r, c]).ToArray())
  18.                 .OrderBy(r => r.Where(n => n > 0 && n % 2 == 0).Sum()).SelectMany(a=>a).ToArray();
  19.  
  20.             var result = (int[,]) m.Clone();
  21.             Buffer.BlockCopy(sorted, 0, result, 0, sorted.Length * sizeof(int));
  22.         }
  23.     }

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


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

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

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

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

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

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