Сортировка матрицы - C#

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

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

Дана матрица 5 на 10. Пресортировать ее , заменив местами минимальный и максимальный елемент в каждой строчке и столбце. C#

Решение задачи: «Сортировка матрицы»

textual
Листинг программы
class Program
    {
        //Вызов метода создания новой матрицы[5,10]
        public static void CreateArray(int[,]myArray)
        {
            int[,] myArray_A = myArray;
            myArray_A = new int[5, 10];
            Random rnd = new Random();
            /* 
               ---Заполнение массива рандомными числами (-10,10)--- 
               ---вывод его на консоль---
            */
            for (int i = 0; i < 5; i++) //Проходим по циклу строк
            {
                Console.Write("\n");
                for (int j = 0; j < 10; j++) //Проходим по циклу столбцов
                {
                    myArray_A[i, j] = rnd.Next(-10, 10); //Заполняем текущий элемент
                    Console.Write("{0}\t", myArray_A[i, j]);
                }
            }
            //Вызов метода нахождения и смены местами Макс.Значения и Мин.Значения
            //В строках и столбцах.
            FindMaxMinValue(myArray_A);
            //Выводим конечный результат на консольку
            ShowArray(myArray_A);
        }
 
        //Вызов метода нахождения и смены местами Макс.Значения и Мин.Значения
        public static void FindMaxMinValue(int[,] myArray)
        {
            //Находим максимальные и минимальные значения в строке и столбце
            int minVal = myArray[0, 0];
            int maxVal = myArray[0, 0];
            for (int i = 0; i < 5; i++)//Проходим по циклу строк
                for (int j = 0; j < 9; j++) //Проходим по циклу столбцов
                {
                    if (minVal > myArray[i, j + 1])
                    { minVal = myArray[i, j + 1]; }
                    if (maxVal < myArray[i, j + 1])
                    { maxVal = myArray[i, j + 1]; }
                }
            SwapMaxMinValArray(myArray, maxVal, minVal);
        }
 
        //меняем местами в строках минимальные и максимальные значения.
        public static void SwapMaxMinValArray(int[,] myArray, int maxVal, int minVal)
     {
         
         for(int i = 0; i < 5; i++)
         {
             for(int j = 0; j < 10; j++)
             {
                 if(myArray[i, j] == maxVal) {myArray[i, j] = minVal;continue; }
                 if(myArray[i, j] == minVal) {myArray[i, j] = maxVal; }
             }
         }
        }
        //Вывод матрицы на консоль
        public static void ShowArray(int[,] myArray)
        {
            Console.WriteLine("\n------------------------------------------------------------------------------");
            for (int i = 0; i < 5; i++)
            {
                Console.Write("\n");
                for (int j = 0; j < 10; j++)
                {
                    Console.Write("{0}\t", myArray[i, j]);
                }
            }
        }
 
        public static void Main(string[] args)
        {
            int[,] myArray = new int[5, 10];
           //Вызов метода создания новой матрицы[5,10]
           //И заполнения её рандомными числами в диапазоне от (-10 до +10).
            CreateArray(myArray);
 
            Console.ReadKey();
        }

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


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

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

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