Упорядочить столбцы матрицы по убыванию их минимальных элементов - C#
Формулировка задачи:
Помогите с написанием программы. (Упорядочить столбцы матрицы по убыванию их минимальных элементов)
Решение задачи: «Упорядочить столбцы матрицы по убыванию их минимальных элементов»
textual
Листинг программы
class Program { static Random rnd = new Random(); static void Main(string[] args) { int n;//количесво строк int m;//количество столбцов do { Console.WriteLine("Введите количество строк"); int.TryParse(Console.ReadLine(), out n); Console.WriteLine("Введите количество столбцов"); int.TryParse(Console.ReadLine(), out m); } while (!(n > 0 && m > 0));//до тек пор пока пока размерность матрицы не будет больше 0 int[,] ar = new int[n, m];//исходная матрица int[,] creatArry = new int[n, m];//в этом массиве будет сохранять новый порядок столбов нужный по условию CreateArray(ar); ShowArray(ar); ChangeArray(ar, creatArry); Console.WriteLine(); ShowArray(creatArry); Console.ReadKey(); } static void CreateArray(int [,] ar) { for (int i = 0; i < ar.GetLength(0); i++)//заполнение элементов матрицы случайными числами от (1,9) { for (int j = 0; j < ar.GetLength(1); j++) { ar[i, j] = rnd.Next(1, 10); } } } static void ShowArray(int [,] ar) { for (int i = 0; i < ar.GetLength(0); i++)//заполнение элементов матрицы случайными числами от (1,9) { for (int j = 0; j < ar.GetLength(1); j++) { Console.Write($"{ar[i, j]} "); } Console.WriteLine(); } } static void ChangeArray(int [,] ar ,int [,] creat) { int x = int.MaxValue; int m = 0; int findj = 0;//считает столбец с наименьшими элементами while(m<creat.GetLength(1)) { for (int i = 0; i < ar.GetLength(0); i++) { for (int j = 0; j < ar.GetLength(1); j++) { if (x >ar[i, j]) { x = ar[i, j]; findj = j; } } } x = int.MaxValue; for (int k = findj; k < findj + 1; k++)//сохраняем в начале столбец с наименьшим членов { for (int z = 0; z < creat.GetLength(0); z++) { creat[z, m] = ar[z, findj]; ar[z, findj] = int.MaxValue;//присваивание максимального значения элементу,чтобы при повторной итерации н было такого же столбцы } } m++; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д