Сортировка двумерного массива по убыванию и возрастанию - 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; } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д