.NET 2.x В двухмерном масиве целых чичел поменять местами строки - C#
Формулировка задачи:
помогите решить 3 задачки горю!в с #
1 В двухмерном масиве целых чичел поменять местами строки,симметричные относительносередины массива(горизонтальной линии)
Решение задачи: «.NET 2.x В двухмерном масиве целых чичел поменять местами строки»
textual
Листинг программы
private static void Change(int[,] mat)
{
int rowCount=mat.GetLength(0);
if ( rowCount <= 1)
//здесь можно выдать сообщение или Exception
return;
// вычисляем строку с которой нужно начать менять местами
int i = rowCount / 2 - 1;
//step - строка с которой будет производится замена, если кол-во строк не четное, то середину не трогаем
int step = (rowCount % 2 == 0) ? i + 1 : i + 2;
for (; i >= 0; i--, step++)
for (int j = 0; j < mat.GetLength(1); j++)
//метод,меняет числа местами
Swap(ref mat[i, j], ref mat[step, j]);
}
private static void Swap(ref int a, ref int b)
{
int help = a;
a = b;
b = help;
}