using System;
class Program
{
static void Main()
{
// 1. Ввод размеров матрицы
Console.Write("Введите количество строк (n): ");
int n = int.Parse(Console.ReadLine());
Console.Write("Введите количество столбцов (m): ");
int m = int.Parse(Console.ReadLine());
// Создаем матрицу А размером n x m
int[,] A = new int[n, m];
// Создаем одномерный массив B для хранения результатов
int[] B = new int[n];
Console.WriteLine("\nВведите элементы матрицы (по одному числу на строку):");
// 2. Ввод элементов матрицы (без Split, по одному числу на строку)
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write($"A[{i},{j}] = ");
A[i, j] = int.Parse(Console.ReadLine());
}
}
// 3. Обработка матрицы и формирование массива B
for (int i = 0; i < n; i++)
{
// По умолчанию считаем, что отрицательных чисел в строке нет
B[i] = 0;
for (int j = 0; j < m; j++)
{
if (A[i, j] < 0)
{
// Если нашли отрицательный элемент, записываем его НОМЕР.
// Так как в математике счет идет с 1, а в программировании с 0,
// мы прибавляем 1 к индексу j, чтобы получить "человеческий" номер столбца.
B[i] = j + 1;
// Выходим из внутреннего цикла, так как нам нужен только ПЕРВЫЙ отрицательный
break;
}
}
}
// 4. Вывод результата
Console.WriteLine("\nМассив B (номера первых отрицательных элементов в строках):");
for (int i = 0; i < n; i++)
{
Console.Write(B[i] + " ");
}
Console.WriteLine(); // Перенос строки в конце
}
}