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


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());

        // 2. Создаем матрицу с помощью метода
        int[,] matrixA = InputMatrix(n, m);

        // 3. Формируем массив B с помощью метода
        int[] arrayB = FindFirstNegatives(matrixA, n, m);

        // 4. Выводим результат с помощью метода
        Console.WriteLine("\nМассив B (номера первых отрицательных элементов):");
        PrintArray(arrayB);
        
        Console.ReadKey();
    }

    // --- МЕТОД 1: Ввод матрицы ---
    // Принимает размеры, возвращает заполненный двумерный массив
    static int[,] InputMatrix(int rows, int cols)
    {
        int[,] matrix = new int[rows, cols];
        
        Console.WriteLine("\nВведите элементы матрицы (по одному числу на строку):");
        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                Console.Write($"A[{i},{j}] = ");
                matrix[i, j] = int.Parse(Console.ReadLine()); 
            }
        }
        return matrix;
    }

    // --- МЕТОД 2: Обработка матрицы ---
    // Принимает матрицу и её размеры, возвращает готовый массив B
    static int[] FindFirstNegatives(int[,] matrix, int rows, int cols)
    {
        int[] result = new int[rows];

        for (int i = 0; i < rows; i++)
        {
            result[i] = 0; // По умолчанию 0 (нет отрицательных)

            for (int j = 0; j < cols; j++)
            {
                if (matrix[i, j] < 0)
                {
                    result[i] = j + 1; // Записываем номер (счет с 1)
                    break; // Выходим, так как нужен только ПЕРВЫЙ отрицательный
                }
            }
        }
        return result;
    }

    // --- МЕТОД 3: Вывод одномерного массива ---
    // Принимает массив и просто печатает его на экран
    static void PrintArray(int[] array)
    {
        for (int i = 0; i < array.Length; i++)
        {
            Console.Write(array[i] + " ");
        }
        Console.WriteLine();
    }
}