Сортировка двумерного массива по убыванию и возрастанию - C#

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

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

Мне нужно написать программу сортировки массива(по возрастанию и убыванию), что бы можно было выбрать метод сортировки. Написать-написала, но сортирует он не верно, да и сам код получился громоздким. Помогите
namespace массив
{
    class Program
    {        
        int[,] a = new int[5,5] ;
        
        public void generalArray()
        {
            Random r = new Random();
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    a[i,j] = r.Next(1, 10);
                }
                   
            }
         }
        public void printArray()
        {
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    Console.Write(a[i,j] + " ");
                }
                Console.WriteLine();
            }
        }
 
        public void BubbleSort()
        {
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                    {
                        for (int k = i + 1; k < 5; k++)
                            {
                                for (int m = j + 1; m < 5; m++)
                                    {
                                        if (a[i,j] > a[k,m])
                                            {
                                                int t = a[i,j];
                                                a[i,j] = a[k,m];
                                                a[k,m] = t;
                                            }
                                     }
 
                            }
                    }
            }
        }
 
        public void BubbleSortDesc()
        {
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    for (int k = i + 1; k <= 5; k++)
                    {
                        for (int m = j + 1; m < 5; m++)
                        {
                            if (a[i,j] < a[k,m])
                            {
                                int t = a[i,j];
                                a[i,j] = a[k,m];
                                a[k,m] = t;
                            }
                        }
 
                    }
                }
            }
        }
 
        static void Main(string[] args)
        {
            Console.WriteLine("Исходный массив: ");
            Program sort = new Program();
            sort.generalArray();
            sort.printArray();
            Console.WriteLine("");
            Console.WriteLine("Сортировать массив по убыванию? (y/n)");
            bool desc = Console.ReadKey().Key == ConsoleKey.Y;
            Console.WriteLine();
            sort.printArray();
            if (desc)
                sort.BubbleSortDesc();
            else
                sort.BubbleSort();
            Console.WriteLine();
            sort.printArray();
            Console.ReadLine();
        }
 
    }
}

Решение задачи: «Сортировка двумерного массива по убыванию и возрастанию»

textual
Листинг программы
        {
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                    {
                        for (int k = 0; k < 5; k++)
                            {
                            for (int m = 0; m < 5; m++)
                                    {
                                if (((!i==k)&&(!j==m))&&(a[i,j] > a[k,m]))// 
                                            {
                                                int t = a[i,j];
                                                a[i,j] = a[k,m];
                                                a[k,m] = t;
                                            }
                                     }
 
                            }
                    }
            }
        }

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


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

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

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