Дописать сортировки выбором и простыми вставками - C#

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

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

Всем привет! Завтра утром сдавать.. время только освободилось и понимаю что не успеваю... Выручайте, пожалуйста ) Итак задача: написать две сортировки двумерного массива по ПЕРВОЙ СТРОЧКЕ(или по столбцам, как правильно не знаю (пример ниже))(по возрастанию): -Простым

выбором

. -Простыми

вставками

. ! Например:
int[,] array = {{4,3,1,2},
                {4,6,7,6},
                {8,4,1,5}};
После должно вывестись на экран консоли:
     1 2 3 4
     7 6 6 4
     1 5 4 8
Начал писать сортировку(пузырьком) да и та не вышела..путаюсь..., заготовку сделал, посмотрите, пожалуйста:
            // Инициализация массива.
            int[,] array = {{4,3,1,2},
                            {4,6,7,6},
                            {8,4,1,5}};
            // Инициализация переменных.
            int stroka = 3;
            int stolb = 4;
            int save = 0;
            // Вывод массива.
            Console.WriteLine("Исходный массив:\n");
            for (int i = 0; i < stroka; i++)
            {
                for (int j = 0; j < stolb; j++)
                {
                    Console.Write("{0}\t", array[i, j]);
                }
                Console.WriteLine();
            }
            // Сортировка массива по столбцам.
            for (int i = 0; i < stroka; i++)
            {
                for (int j = 0; j < stolb-1; j++)
                {
                    if (array[0,j]<array[0,j+1])
                    {
                        for (int k = 0; k < stolb; k++)
                        {
                            save = array[i, j];
                            array[i, j] = array[i, stolb - 1];
                            array[i, stolb - 1] = array[i, j];
                        }
                    }
                }
            }
            // Вывод массива.
            Console.WriteLine("\nОтсортированный массив:\n");
            for (int i = 0; i < stroka; i++)
            {
                for (int j = 0; j < stolb; j++)
                {
                    Console.Write("{0}\t", array[i, j]);
                }
                Console.WriteLine();
            }
            // Задержка.
            Console.ReadKey();
Пожалуйста, очень прошу, допишите мой код. Буду очень благодарен

Решение задачи: «Дописать сортировки выбором и простыми вставками»

textual
Листинг программы
static void Main(string[] args)
        {
            // Инициализация массива.
            int[,] array = {{4,3,1,2},
                            {4,6,7,6},
                            {8,4,1,5}};
            // Инициализация переменных.
            int max_size_strok = array.GetLength(0) - 1; // Отчет с нуля (для удобства).
            // Пример: 3 4 1  max_size_strok     == 2 - 1 == 1     [0,0] [0,1] [0,2]
            //         5 2 9  max_size_stolbtsov == 3 - 1 == 2     [1,0] [1,1] [1,2]
            int max_size_stolbtsov = array.GetLength(1) - 1; // Отчет с нуля (для удобства).
            int save = 0; // Помогает менять местами элементы массива.            
            //Вывод массива.
            Console.WriteLine("Исходный массив:\n");
            for (int i = 0; i <= max_size_strok; i++)
            {
                for (int j = 0; j <= max_size_stolbtsov; j++)
                {
                    Console.Write("{0}\t", array[i, j]);
                }
                Console.WriteLine();
            }
             //Сортировка массива ВЫБОРОМ.
            for (int k = 0; k <= max_size_strok; k++)
            {
                for (int i = 0; i <= max_size_stolbtsov; i++)
                {
                    int min = i;
 
                    for (int j = i + 1; j <= max_size_stolbtsov; j++)
                    {
                        if (array[k, j] < array[k, min])
                        {
                            min = j;
                        }
                    }
 
                    save = array[k, i];
                    array[k, i] = array[k, min];
                    array[k, min] = save;
                }
            }
            //Вывод массива.
            Console.WriteLine("\nОтсортированный массив:\n");
            for (int i = 0; i <= max_size_strok; i++)
            {
                for (int j = 0; j <= max_size_stolbtsov; j++)
                {
                    Console.Write("{0}\t", array[i, j]);
                }
                Console.WriteLine();
            }
            // Задержка.
            Console.ReadKey();}

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


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

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

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