• Дана целочисленная матрица размера N×M. Упорядочить по возрастанию элементы столбца, содержащего минимальный элемент матрицы, и по убыванию элементы столбца, содержащего максимальный элемент матрицы. Если минимум и максимум находятся в одном столбце, то ничего не делать. Полученную матрицу вывести на экран. C#

Ответы 1

  • using System;    class Program        static void Main()        {            int n = 5;            int m = 10;            var a = new Int32[n, m];            int imin = 0;            int imax = 0;            int max = 0;            int min = 100;            var random = new Random();            for (var i = 0; i < a.GetLength(0); i++, Console.WriteLine())                for (var j = 0; j < a.GetLength(1); j++)                {                    a[i, j] = random.Next(100);                    if (max < a[i, j])                    {                      max = a[i, j];                      imax = j;                    }                    if (min > a[i, j])                    {                      min = a[i, j];                      imin = j;                    }                    Console.Write("{0,4}", a[i, j]);                }            if (imin == imax)                Console.WriteLine("Элементы находятся в одном столбце");            else            {                    Console.WriteLine();            for (int i = 0; i < a.GetLength(0) -1; i++)                for (int j = i + 1; j < a.GetLength(0); j++)                    if (a[i,imin] > a[j, imin])                    {                        var temp = a[i, imin];                        a[i, imin] = a[j, imin];                        a[j, imin] = temp;                    }            for (int i = a.GetLength(0) - 2; i >=0 ; i--)                for (int j = i; j < a.GetLength(0)-1; j++)                    if (a[j, imax] < a[j+1, imax])                    {                        var temp = a[i, imin];                        a[j, imax] = a[j+1, imax];                        a[j + 1, imax] = temp;                    }            for (var i = 0; i < a.GetLength(0); i++, Console.WriteLine())                                       for (var j = 0; j < a.GetLength(1); j++)                    Console.Write("{0,4}", a[i, j]);            }        Console.Read();    }    }
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years