Загрузка данных


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(); // Перенос строки в конце
    }
}