Сформировать массив из минимальных положительных элементов каждой строки матрицы - C#
Формулировка задачи:
Составить программу, предусматривающую использование компонента класса (TStringGrid /DataGridView) для ввода или вывода матриц или одномерных массивов. Задание размеров матриц или одномерных массивов с исходными данными осуществлять с помощью компонентов (TSpinEdit /NumericUpDown). Считать, что в матрицахn m имеетсяn строк и
mстолбцов (n>1,m>1).
Дана матрица A размеромn m. Сформировать одномерный массивB, каждыйi-ыйэлемент которого представляет собой минимальное из положительных элементовi-ойстроки матрицыA. Если таких элементов в строке нет, считать минимальное значение 1. Упорядочить массивB по убыванию
Решение задачи: «Сформировать массив из минимальных положительных элементов каждой строки матрицы»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
public static void Main()
{
Random rnd = new Random();
int[,] a = new int[5, 5];
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
Console.Write(a[i, j] = rnd.Next(-10, 5));
Console.Write("\t");
}
Console.WriteLine();
}
int[] b = Enumerable.Range(0, a.GetLength(0))
.Select(i => Enumerable.Range(0, a.GetLength(1))
.Select(j => a[i, j])
.Where(x => x >= 0)
.DefaultIfEmpty(1)
.Min()
)
.OrderBy(x => x)
.ToArray();
Console.WriteLine(String.Join(", ", b));
}
}