Упорядочить двумерный массив по возрастанию справа-налево, снизу-вверх без преобразования его в одномерный - C#
Формулировка задачи:
Упорядочить двумерный массив по возрастанию справа-налево, снизу- вверх БЕЗ преобразования его в одномерный!
То есть, если, например, дан массив
то после преобразования должно получиться
1 | 6 | 2 |
4 | 3 | 5 |
9 | 7 | 8 |
9 | 8 | 7 |
6 | 5 | 4 |
3 | 2 | 1 |
Решение задачи: «Упорядочить двумерный массив по возрастанию справа-налево, снизу-вверх без преобразования его в одномерный»
textual
Листинг программы
- using System;
- namespace ConsoleApp1
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[,] array = new int[3, 3] { { 1, 6, 2 }, { 4, 3, 5 }, { 9, 7, 8 } };
- Output(array);
- Console.WriteLine();
- Sort(array);
- Output(array);
- Console.ReadKey();
- }
- static void Sort(int[,] arr)
- {
- for (int i = 0; i < arr.GetLength(0); i++)
- {
- for (int j = 0; j < arr.GetLength(1); j++)
- {
- for (int x = 0; x < arr.GetLength(0); x++)
- {
- for (int y = 0; y < arr.GetLength(1); y++)
- {
- if (arr[i, j] > arr[x, y])
- Swap(arr, i, j, x, y);
- }
- }
- }
- }
- }
- static void Swap(int[,] arr, int i, int j, int x, int y)
- {
- int temp = arr[i, j];
- arr[i, j] = arr[x, y];
- arr[x, y] = temp;
- }
- static void Output(int[,] arr)
- {
- for (int i = 0; i < arr.GetLength(0); i++)
- {
- for (int j = 0; j < arr.GetLength(1); j++)
- Console.Write(arr[i, j] + " ");
- Console.Write(Environment.NewLine);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д