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

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

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

Помогите с написанием программы. (Упорядочить столбцы матрицы по убыванию их минимальных элементов)

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

textual
Листинг программы
  1. class Program
  2.     {
  3.         static Random rnd = new Random();
  4.         static void Main(string[] args)
  5.         { int n;//количесво строк
  6.           int m;//количество столбцов
  7.             do
  8.             {
  9.                 Console.WriteLine("Введите количество строк");
  10.                 int.TryParse(Console.ReadLine(), out n);
  11.                 Console.WriteLine("Введите количество столбцов");
  12.                 int.TryParse(Console.ReadLine(), out m);
  13.  
  14.             } while (!(n > 0 && m > 0));//до тек пор пока пока размерность матрицы не будет больше 0
  15.             int[,] ar = new int[n, m];//исходная матрица
  16.             int[,] creatArry = new int[n, m];//в этом массиве будет сохранять новый порядок столбов  нужный по условию
  17.             CreateArray(ar);
  18.             ShowArray(ar);
  19.             ChangeArray(ar, creatArry);
  20.             Console.WriteLine();
  21.             ShowArray(creatArry);
  22.             Console.ReadKey();
  23.  
  24.         }
  25.         static void CreateArray(int [,] ar)
  26.         {
  27.             for (int i = 0; i < ar.GetLength(0); i++)//заполнение элементов матрицы случайными числами от (1,9)
  28.             {
  29.                 for (int j = 0; j < ar.GetLength(1); j++)
  30.                 {
  31.                     ar[i, j] = rnd.Next(1, 10);
  32.                 }
  33.             }
  34.         }
  35.         static void ShowArray(int [,] ar)
  36.         {
  37.             for (int i = 0; i < ar.GetLength(0); i++)//заполнение элементов матрицы случайными числами от (1,9)
  38.             {
  39.                 for (int j = 0; j < ar.GetLength(1); j++)
  40.                 {
  41.                     Console.Write($"{ar[i, j]}  ");
  42.                 }
  43.                 Console.WriteLine();
  44.             }
  45.         }
  46.         static void ChangeArray(int [,] ar ,int [,] creat)
  47.         {
  48.             int x = int.MaxValue;
  49.             int m = 0;
  50.             int findj = 0;//считает столбец с наименьшими элементами
  51.             while(m<creat.GetLength(1))
  52.             {
  53.                 for (int i = 0; i < ar.GetLength(0); i++)
  54.                 {
  55.                     for (int j = 0; j < ar.GetLength(1); j++)
  56.                     {
  57.                         if (x >ar[i, j])
  58.                         {
  59.                             x = ar[i, j];
  60.                             findj = j;
  61.                         }
  62.  
  63.  
  64.  
  65.                     }
  66.                 }
  67.                 x = int.MaxValue;
  68.                     for (int k = findj; k < findj + 1; k++)//сохраняем в начале столбец с наименьшим членов
  69.                     {
  70.                         for (int z = 0; z < creat.GetLength(0); z++)
  71.                         {
  72.                             creat[z, m] = ar[z, findj];
  73.                             ar[z, findj] = int.MaxValue;//присваивание максимального значения элементу,чтобы при повторной итерации н было такого же столбцы
  74.                         }
  75.                     }
  76.                    
  77.                     m++;
  78.                 }
  79.            
  80.             }
  81.  
  82.        
  83.  
  84.     }

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


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

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

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

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

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

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