Отсортировать побочную диагональ матрицы по убыванию - C#

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

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

Здравствуйте. Необходимо написать программу для сортировки массива 4х4 побочная диагональ по возрастанию на языке C шарп.
Ошибка, не по возрастанию, а по убыванию))

Решение задачи: «Отсортировать побочную диагональ матрицы по убыванию»

textual
Листинг программы
  1. using System;
  2.  
  3. class Program
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         Array array = new Array();
  8.         Console.WriteLine("Введите желаемый размер матрици NxN:");
  9.         int N = int.Parse(Console.ReadLine());
  10.         Console.WriteLine("Введите диапазон значений матрици:");
  11.         Console.Write("min =");
  12.         int min = int.Parse(Console.ReadLine());
  13.         Console.Write("max =");
  14.         int max = int.Parse(Console.ReadLine());
  15.         var arr = array.Arr(N, max, min);
  16.  
  17.         Console.WriteLine(string.Format("Исходная матрица {0}x{0}", N));
  18.         array.ArrPrint(arr);
  19.         arr = array.ArrSort(arr);
  20.         Console.WriteLine();
  21.  
  22.         Console.WriteLine("После сортировки:");
  23.         array.ArrPrint(arr);
  24.         Console.ReadKey();
  25.     }
  26. }
  27.  
  28. public class Array
  29. {
  30.     public int[,] Arr(int N, int max, int min)
  31.     {
  32.         int[,] arr = new int[N, N];
  33.         Random rnd = new Random();
  34.  
  35.         for (int i = 0; i < arr.GetLength(1); i++)
  36.             for (int j = 0; j < arr.GetLength(0); j++)
  37.                 arr[i, j] = rnd.Next(min, max + 1);
  38.         return arr;
  39.     }
  40.  
  41.     public int[,] ArrSort(int[,] arr)
  42.     {
  43.         int value;
  44.         int w = arr.GetLength(0);
  45.  
  46.  
  47.         for (int j = 0; j < arr.GetLength(1) && j < w; j++)
  48.         {
  49.             //int h = arr.GetLength(1) - j;
  50.             value = arr[j, w - 1 - j];
  51.  
  52.             for (int i = j; i < w; i++)
  53.                 if (arr[j, w - 1 - j] < arr[i, w - i - 1])
  54.                 {
  55.                     int val = arr[j, w - 1 - j];
  56.                     arr[j, w - 1 - j] = arr[i, w - i - 1];
  57.                     arr[i, w - i - 1] = val;
  58.                 }
  59.         }
  60.         return arr;
  61.     }
  62.  
  63.     public void ArrPrint(int[,] arr)
  64.     {
  65.         for (int i = 0; i < arr.GetLength(1); i++)
  66.         {
  67.             for (int j = 0; j < arr.GetLength(0); j++)
  68.                 Console.Write(string.Format("{0,3} ", arr[i, j]));
  69.             Console.WriteLine();
  70.         }
  71.     }
  72. }

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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