Упорядочить двумерный массив по возрастанию справа-налево, снизу-вверх без преобразования его в одномерный - C#

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

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

Упорядочить двумерный массив по возрастанию справа-налево, снизу- вверх БЕЗ преобразования его в одномерный! То есть, если, например, дан массив
1 6 2
4 3 5
9 7 8
то после преобразования должно получиться
9 8 7
6 5 4
3 2 1

Решение задачи: «Упорядочить двумерный массив по возрастанию справа-налево, снизу-вверх без преобразования его в одномерный»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApp1
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int[,] array = new int[3, 3] { { 1, 6, 2 }, { 4, 3, 5 }, { 9, 7, 8 } };
  10.  
  11.             Output(array);
  12.  
  13.             Console.WriteLine();
  14.  
  15.             Sort(array);
  16.  
  17.             Output(array);                      
  18.  
  19.             Console.ReadKey();
  20.         }
  21.  
  22.         static void Sort(int[,] arr)
  23.         {
  24.             for (int i = 0; i < arr.GetLength(0); i++)
  25.             {
  26.                 for (int j = 0; j < arr.GetLength(1); j++)
  27.                 {
  28.                     for (int x = 0; x < arr.GetLength(0); x++)
  29.                     {
  30.                         for (int y = 0; y < arr.GetLength(1); y++)
  31.                         {
  32.                             if (arr[i, j] > arr[x, y])
  33.                                 Swap(arr, i, j, x, y);
  34.                         }
  35.                     }
  36.                 }                
  37.             }
  38.         }      
  39.         static void Swap(int[,] arr, int i, int j, int x, int y)
  40.         {
  41.             int temp = arr[i, j];
  42.             arr[i, j] = arr[x, y];
  43.             arr[x, y] = temp;
  44.         }
  45.  
  46.         static void Output(int[,] arr)
  47.         {
  48.             for (int i = 0; i < arr.GetLength(0); i++)
  49.             {
  50.                 for (int j = 0; j < arr.GetLength(1); j++)
  51.                     Console.Write(arr[i, j] + " ");
  52.                 Console.Write(Environment.NewLine);
  53.             }
  54.         }
  55.     }
  56. }

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


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

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

14   голосов , оценка 3.929 из 5

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

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

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