ЗАДАНИЕ 2. Разработать алгоритм и программу перестановки строк или столбцов матрицы. В матрице, размером MxN(Размер матрицы и значения матрицы вводятся пользователем с клавиатуры), переставить столбцы таким образом, чтобы получилась последовательность T1 ≤ T2 ≤...≤ TN, где Tj – максимальное значение среди всех элементов j-ого столбца.
Желательно написать программу на С#, но можно на любом другом языке(C, JavaScript, C++, Python, Pascal)
Answers & Comments
Ответ:
Если я правильно понял суть задания ==>
Объяснение:
private static void Main()
{
Console.WriteLine("Введите размер матрицы");
var m = Convert.ToInt32(Console.ReadLine());
var n = Convert.ToInt32(Console.ReadLine());
var matrix = new int[m, n];
Console.WriteLine("Введите элементы матрицы");
for (var i = 0; i < m; i++)
{
for (var j = 0; j < n; j++)
{
matrix[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.WriteLine("Исходная матрица");
for (var i = 0; i < m; i++)
{
for (var j = 0; j < n; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
for (var i = 0; i < n; i++)
{
for (var j = 0; j < n - 1; j++)
{
if (matrix[0, j] <= matrix[0, j + 1]) continue;
for (var k = 0; k < m; k++)
{
(matrix[k, j], matrix[k, j + 1]) = (matrix[k, j + 1], matrix[k, j]);
}
}
}
Console.WriteLine("Матрица после перестановки столбцов");
for (var i = 0; i < m; i++)
{
for (var j = 0; j < n; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}