В двумерном массиве поменять столбцы местами - C#
Формулировка задачи:
Помогите, пожалуйста. Код не работает. Нужно поменять местами 1 с предпоследним столбцы.
int n = 4;
int m = 5;
Random rnd = new Random();
int[,] a = new int[m, n];
n = rnd.Next(5, 10);
m = rnd.Next(5, 10);
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
a[i, j] = rnd.Next(10);
}
}
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
Console.Write(" {0} ", a[i, j]);
}
Console.WriteLine();
}
Console.Write("Меняем местами первый и предпоследний столбцы: ");
int[] p = new int[n];
for (int i = 0, j = 0; j < a.GetLength(0); i++)
{
p = a[m, n];
}
for (int i = 0; i < a.GetLength(0); i++)
{
a[0, i] = a[2, i];
}
for (int i = 0; i < a.GetLength(1); i++)
{
a[2, i] = p[i];
}
Console.ReadLine();
}
}
}Решение задачи: «В двумерном массиве поменять столбцы местами»
textual
Листинг программы
Console.Write("Меняем местами первый и предпоследний столбцы: ");
int tmp;
for (int i = 0; i < a.GetLength(0); i++)
{
tmp = a[i, 0];
a[i, 0] = a[i, a.GetLength(1) - 2];
a[i, a.GetLength(1) - 2] = tmp;
}