Дана целочисленная прямоугольная матрица - C# (185446)
Формулировка задачи:
Дана целочисленная прямоугольная матрица. Определить количество столбцов не содержащих ни одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
Решение задачи: «Дана целочисленная прямоугольная матрица»
textual
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- var m = new int[,] {
- { 4,5,-6,4 },
- { -7,0,9,2 },
- { 1,2,3,2 }
- };
- // Определить количество столбцов не содержащих ни одного нулевого элемента
- var nonZeroColumnsCount = Enumerable.Range(0, m.GetLength(1))
- .Count(c => Enumerable.Range(0, m.GetLength(0)).All(r => m[r, c] != 0));
- // Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
- var sorted = Enumerable.Range(0, m.GetLength(0))
- .Select(r => Enumerable.Range(0, m.GetLength(1)).Select(c => m[r, c]).ToArray())
- .OrderBy(r => r.Where(n => n > 0 && n % 2 == 0).Sum()).SelectMany(a=>a).ToArray();
- var result = (int[,]) m.Clone();
- Buffer.BlockCopy(sorted, 0, result, 0, sorted.Length * sizeof(int));
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д