Найти минимум в столбцах матрицы - C#

Узнай цену своей работы

Формулировка задачи:

Нужно найти минимальный элемент в столбце матрицы и вывести его, так же написав отрицателен он или положителен. Сделал так:
 int min = 0;
            string[] line = Console.ReadLine().Split(' ');
            int n = int.Parse(line[0]);
            int m = int.Parse(line[1]);
            int[,] a = new int[n, m];
            for (int i = 0; i < n; i++)
            {
                string[] line2 = Console.ReadLine().Split(' ');
                for (int j = 0; j < m; j++)
                {
                    a[i, j] = int.Parse(line2[j]);
                }
            }
            for (int j = 0; j < m; j++)
            {
                min = a[0, j];
                for (int i = 0; i < n; i++)
                {
                    if(a[i, j] < min)
                    {
                        min = a[i, j];
                        Console.Write("Минимальный в столбце {0} = {1}", j + 1, min);
                        if(a[i, j] < 0)
                        {
                            Console.Write(", отрицательный");
                        }
                        else
                        {
                            Console.Write(", положительный");
                        }
                        Console.WriteLine();
                    }
                }
            }
но, если вводить например так:
3 3 -1 2 -3 4 5 6 -7 8 -9
то информация по 2 строке не выводится. Как исправить?

Решение задачи: «Найти минимум в столбцах матрицы»

textual
Листинг программы
        static void Main(string[] args)
        {
            string[] line = Console.ReadLine().Split(' ');
            string[] line1; int min;
            int n = int.Parse(line[0]);
            int m = int.Parse(line[1]);
            int[,] a = new int[n, m];
            for (int i = 0; i < n; i++)
            {
                line1 = Console.ReadLine().Split(' ');
                for (int j = 0; j < m; j++)
                    a[i, j] = int.Parse(line1[j]);
            }
            for (int j = 0; j < m; j++)
            {
                min = a[0, j];
                for (int i = 0; i < m; i++)
                    if (a[i, j] < min) min = a[i, j];
                Console.Write("Минимальный элемент в {0} столбце = {1} ", j + 1, min);
                if (min < 0) Console.WriteLine(", отрицательный");
                else Console.WriteLine(", положительный");
            }
            Console.ReadLine();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы