CLR: .Net / Mono / Boo / Otros CLR > C#
Matriz Consola C#
(1/1)
j0rg3m4r10:
Hola. quisiera saber como crear un programa de consola que invierta una matriz de
N x M elementos
El elemento (1, 1) se intercambie con el (N, M); el (1, 2) con el (N, M –1); el (1, 3) con el
(N, M–2) y así sucesivamente. Imprimir la matriz invertida.
gracias de antemano
tannke:
Prueba con este algoritmo, no es la mejor solucion, pero el mejorarlo ya te lo dejo a ti.
--- Código: C# ---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(); }
saludos
j0rg3m4r10:
Muchisimas Gracias!!!!!!!!....me has salvado
Navegación
Ir a la versión completa