Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов методом «пузырька» - C#
Формулировка задачи:
Дана матрица размерностью n × n, содержащая целые числа. Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов методом «пузырька»
Решение задачи: «Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов методом «пузырька»»
textual
Листинг программы
- class Program
- {
- static void Sort(int[] a)
- {
- for (int i = 0; i < a.Length - 1; i++)
- for (int j = i; j < a.Length; j++)
- if (a[i] > a[j])
- {
- int x = a[i];
- a[i] = a[j];
- a[j] = x;
- }
- }
- static void output(int[,] a)
- {
- for (int i = 0; i < a.GetLength(0); i++)
- {
- for (int j = 0; j < a.GetLength(1); j++)
- Console.Write(a[i, j] + "\t");
- Console.WriteLine();
- }
- Console.WriteLine();
- }
- static void Main(string[] args)
- {
- Random rnd = new Random();
- int[,] matrix = new int[6, 6];
- int[] abc = new int[6];
- int[] cba = new int[6];
- for (int i = 0; i < matrix.GetLength(0); i++)
- for (int j = 0; j < matrix.GetLength(1); j++)
- {
- matrix[i, j] = rnd.Next(-30, 80);
- if (i == j) abc[i] = matrix[i, j];
- if (i == (matrix.GetLength(0)-1 - j)) cba[i] = matrix[i, j];
- }
- output(matrix);
- Sort(abc); Sort(cba);
- for (int i = 0; i < 6; i++)
- for (int j = 0; j < 6; j++)
- {
- if (i == j) matrix[i, j] = abc[i];
- if (i == (matrix.GetLength(0)-1 - j)) matrix[i, j] = cba[i];
- }
- output(matrix);
- Console.ReadLine();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д