Напишите программу, которая находит в матрице строку с минимальной суммой. входные данные в первой строке записаны через пробел размеры матрицы: количество строк n и количество столбцов m ( 1 ≤ n , m ≤ 100 ). в следующих n строках записаны строки матрицы, в каждой – по m натуральных чисел, разделённых пробелами. выходные данные программа должна вывести все элементы найденной строки с минимальной суммой, разделив их пробелами например входные данные 4 5 1 3 2 54 234 75 12 3 46 9 13 26 56 9 12 14 90 897 6 34 выходные данные 13 26 56 9 12 напишите, , программу на с#!
```csharp
using System;
class Program
{
static void Main()
{
// Чтение входных данных
string input = Console.ReadLine();
string[] sizes = input.Split(' ');
int n = int.Parse(sizes[0]);
int m = int.Parse(sizes[1]);
// Создание и заполнение матрицы
int[,] matrix = new int[n, m];
for (int i = 0; i < n; i++)
{
input = Console.ReadLine();
string[] numbers = input.Split(' ');
for (int j = 0; j < m; j++)
{
matrix[i, j] = int.Parse(numbers[j]);
}
}
// Нахождение строки с минимальной суммой
int minSum = int.MaxValue;
int minSumRow = -1;
for (int i = 0; i < n; i++)
{
int sum = 0;
for (int j = 0; j < m; j++)
{
sum += matrix[i, j];
}
if (sum < minSum)
{
minSum = sum;
minSumRow = i;
}
}
// Вывод элементов найденной строки
for (int j = 0; j < m; j++)
{
Console.Write(matrix[minSumRow, j] + " ");
}
}
}
```
Давай разберем это по шагам:
1. Сначала мы считываем размеры матрицы из первой строки ввода. Входная строка содержит два числа, разделенных пробелом - количество строк `n` и количество столбцов `m`. Мы используем `Split(' ')`, чтобы разделить строку на две отдельные строки, а затем используем `int.Parse()` для преобразования этих строк в целые числа `n` и `m`.
2. Мы создаем двумерный массив `matrix` размером `n` на `m`, чтобы хранить нашу матрицу. Затем мы заполняем этот массив, читая каждую строку матрицы из следующих `n` строк ввода. Мы разделяем каждую строку на отдельные числа, используя `Split(' ')`, и затем преобразуем каждое число в целое число с помощью `int.Parse()`.
3. Мы инициализируем переменные `minSum` и `minSumRow` со значениями `int.MaxValue` и `-1` соответственно. `minSum` будет использоваться для отслеживания минимальной суммы строки, а `minSumRow` будет использоваться для хранения индекса строки с минимальной суммой.
4. Мы проходим по каждой строке матрицы и вычисляем сумму каждой строки. Для этого мы используем вложенный цикл `for`, чтобы пройти по каждому элементу строки и добавить его к переменной `sum`.
5. Если `sum` меньше `minSum`, мы обновляем значения `minSum` и `minSumRow` соответствующим образом.
6. Наконец, мы выводим элементы строки с минимальной суммой, используя цикл `for`. Мы просто проходим по каждому элементу этой строки и выводим его на консоль, разделяя пробелом.
Таким образом, программа находит строку с минимальной суммой в матрице и выводит все элементы этой строки на консоль.