Перестановка столбцов - C#
Формулировка задачи:
Добрый день! Написал код к задаче
"Дана целочисленная матрица размера 6х9. найти матрицу получающуюся из данной перестановкой столбцов - первого с последним, второго с предпоследним и т.д.". В результате 4 столбца переносятся, далее пусто. в чем проблема?
const int n = 6;
const int m = 9;
int[,] M = new int[n, m];
int i = 0, j = 0;
Random rand = new Random();
int x;
Console.WriteLine(" Исходная матрица 6х9 ");
Console.WriteLine("-----------------------");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
M[i, j] = rand.Next(-100, 100);
Console.Write(M[i, j] + "\t");
}
Console.WriteLine();
}
Console.WriteLine("-----------------------");
for (i = 0; i < n; i++)
{
for (j = 0; j < m/2; j++)
{
x = M[i, j];
M[i, j] = M[i, m - j -1];
M[i, m - j - 1] = x;
Console.Write(M[i, j] + "\t");
}
Console.WriteLine();
}
Console.ReadKey();Решение задачи: «Перестановка столбцов»
textual
Листинг программы
const int n = 6;
const int m = 9;
int[,] M = new int[n, m];
int i = 0, j = 0;
Random rand = new Random();
int x;
Console.WriteLine(" Исходная матрица 6х9 ");
Console.WriteLine("-----------------------");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
M[i, j] = rand.Next(-100, 100);
Console.Write(M[i, j] + "\t");
}
Console.WriteLine();
}
Console.WriteLine("-----------------------");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if(j<m/2)
{
x = M[i, j];
M[i, j] = M[i, m - j - 1];
M[i, m - j - 1] = x;
}
Console.Write(M[i, j] + "\t");
}
Console.WriteLine();
}