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

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

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

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

выбором

. -Простыми

вставками

. ! Например:
Листинг программы
  1. int[,] array = {{4,3,1,2},
  2. {4,6,7,6},
  3. {8,4,1,5}};
После должно вывестись на экран консоли:
Листинг программы
  1. 1 2 3 4
  2. 7 6 6 4
  3. 1 5 4 8
Начал писать сортировку(пузырьком) да и та не вышела..путаюсь..., заготовку сделал, посмотрите, пожалуйста:
Листинг программы
  1. // Инициализация массива.
  2. int[,] array = {{4,3,1,2},
  3. {4,6,7,6},
  4. {8,4,1,5}};
  5. // Инициализация переменных.
  6. int stroka = 3;
  7. int stolb = 4;
  8. int save = 0;
  9. // Вывод массива.
  10. Console.WriteLine("Исходный массив:\n");
  11. for (int i = 0; i < stroka; i++)
  12. {
  13. for (int j = 0; j < stolb; j++)
  14. {
  15. Console.Write("{0}\t", array[i, j]);
  16. }
  17. Console.WriteLine();
  18. }
  19. // Сортировка массива по столбцам.
  20. for (int i = 0; i < stroka; i++)
  21. {
  22. for (int j = 0; j < stolb-1; j++)
  23. {
  24. if (array[0,j]<array[0,j+1])
  25. {
  26. for (int k = 0; k < stolb; k++)
  27. {
  28. save = array[i, j];
  29. array[i, j] = array[i, stolb - 1];
  30. array[i, stolb - 1] = array[i, j];
  31. }
  32. }
  33. }
  34. }
  35. // Вывод массива.
  36. Console.WriteLine("\nОтсортированный массив:\n");
  37. for (int i = 0; i < stroka; i++)
  38. {
  39. for (int j = 0; j < stolb; j++)
  40. {
  41. Console.Write("{0}\t", array[i, j]);
  42. }
  43. Console.WriteLine();
  44. }
  45. // Задержка.
  46. Console.ReadKey();
Пожалуйста, очень прошу, допишите мой код. Буду очень благодарен

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

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             // Инициализация массива.
  4.             int[,] array = {{4,3,1,2},
  5.                             {4,6,7,6},
  6.                             {8,4,1,5}};
  7.             // Инициализация переменных.
  8.             int max_size_strok = array.GetLength(0) - 1; // Отчет с нуля (для удобства).
  9.             // Пример: 3 4 1  max_size_strok     == 2 - 1 == 1     [0,0] [0,1] [0,2]
  10.             //         5 2 9  max_size_stolbtsov == 3 - 1 == 2     [1,0] [1,1] [1,2]
  11.             int max_size_stolbtsov = array.GetLength(1) - 1; // Отчет с нуля (для удобства).
  12.             int save = 0; // Помогает менять местами элементы массива.            
  13.             //Вывод массива.
  14.             Console.WriteLine("Исходный массив:\n");
  15.             for (int i = 0; i <= max_size_strok; i++)
  16.             {
  17.                 for (int j = 0; j <= max_size_stolbtsov; j++)
  18.                 {
  19.                     Console.Write("{0}\t", array[i, j]);
  20.                 }
  21.                 Console.WriteLine();
  22.             }
  23.              //Сортировка массива ВЫБОРОМ.
  24.             for (int k = 0; k <= max_size_strok; k++)
  25.             {
  26.                 for (int i = 0; i <= max_size_stolbtsov; i++)
  27.                 {
  28.                     int min = i;
  29.  
  30.                     for (int j = i + 1; j <= max_size_stolbtsov; j++)
  31.                     {
  32.                         if (array[k, j] < array[k, min])
  33.                         {
  34.                             min = j;
  35.                         }
  36.                     }
  37.  
  38.                     save = array[k, i];
  39.                     array[k, i] = array[k, min];
  40.                     array[k, min] = save;
  41.                 }
  42.             }
  43.             //Вывод массива.
  44.             Console.WriteLine("\nОтсортированный массив:\n");
  45.             for (int i = 0; i <= max_size_strok; i++)
  46.             {
  47.                 for (int j = 0; j <= max_size_stolbtsov; j++)
  48.                 {
  49.                     Console.Write("{0}\t", array[i, j]);
  50.                 }
  51.                 Console.WriteLine();
  52.             }
  53.             // Задержка.
  54.             Console.ReadKey();}

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


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

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

15   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы