static void Main(string[] args)
{
int M = 3; //con estas dos variables definimos N y M.
int N = 10;
int[,
] matriz
= new int[N, M
]; int cont = 0;
//la creamos
for (int i = 0; i < N; i++)
{
for (int a = 0; a < M; a++)
{
matriz[i, a] = cont;
cont++;
}
}
//la escribimos
for (int i = 0; i < N; i++)
{
for (int a = 0; a < M; a++)
{
Console.WriteLine("Matriz[{0},{1}] = {2}", i, a, matriz[i, a]);
}
}
//el algoritmo de inversion
int repeticiones = 0;
for (int i = 0; i < N; i++)
{
for (int a = 0; a < M; a++)
{
int temp;
temp = matriz[i, a];
matriz[i, a] = matriz[N - i-1, M - a-1];
matriz[N - i-1, M - a-1] = temp;
repeticiones++;
if (repeticiones == N * M / 2) break;
}
if (repeticiones == N * M / 2) break;
}
Console.WriteLine();
Console.WriteLine();
//lo volvemos a esgribir
for (int i = 0; i < N; i++)
{
for (int a = 0; a < M; a++)
{
Console.WriteLine("Matriz[{0},{1}] = {2}", i, a, matriz[i, a]);
}
}
Console.ReadKey();
}