• Domingo 22 de Diciembre de 2024, 14:49

Autor Tema:  Matriz Consola C#  (Leído 5044 veces)

j0rg3m4r10

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Matriz Consola C#
« en: Martes 17 de Agosto de 2010, 19:33 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Matriz Consola C#
« Respuesta #1 en: Martes 17 de Agosto de 2010, 23:38 »
0
Prueba con este algoritmo, no es la mejor solucion, pero el mejorarlo ya te lo dejo a ti.
Código: C#
  1. static void Main(string[] args)
  2.         {
  3.             int M = 3;     //con estas dos variables definimos N y M.
  4.             int N = 10;
  5.  
  6.             int[,] matriz = new int[N, M];
  7.             int cont = 0;
  8.  
  9.             //la creamos
  10.             for (int i = 0; i < N; i++)
  11.             {
  12.                 for (int a = 0; a < M; a++)
  13.                 {
  14.                     matriz[i, a] = cont;
  15.                     cont++;
  16.                 }
  17.             }
  18.  
  19.             //la escribimos
  20.             for (int i = 0; i < N; i++)
  21.             {
  22.                 for (int a = 0; a < M; a++)
  23.                 {
  24.                     Console.WriteLine("Matriz[{0},{1}] = {2}", i, a, matriz[i, a]);
  25.                 }
  26.             }
  27.            
  28.             //el algoritmo de inversion
  29.             int repeticiones = 0;
  30.             for (int i = 0; i < N; i++)
  31.             {
  32.                 for (int a = 0; a < M; a++)
  33.                 {
  34.                     int temp;
  35.                     temp = matriz[i, a];
  36.                     matriz[i, a] = matriz[N - i-1, M - a-1];
  37.                     matriz[N - i-1, M - a-1] = temp;
  38.                     repeticiones++;
  39.                     if (repeticiones == N * M / 2) break;
  40.                 }
  41.                 if (repeticiones == N * M / 2) break;
  42.                
  43.             }
  44.  
  45.             Console.WriteLine();
  46.             Console.WriteLine();
  47.  
  48.             //lo volvemos a esgribir
  49.  
  50.             for (int i = 0; i < N; i++)
  51.             {
  52.                 for (int a = 0; a < M; a++)
  53.                 {
  54.                     Console.WriteLine("Matriz[{0},{1}] = {2}", i, a, matriz[i, a]);
  55.                 }
  56.             }
  57.  
  58.             Console.ReadKey();
  59.         }
  60.  

saludos
« última modificación: Martes 17 de Agosto de 2010, 23:41 por tannke »

j0rg3m4r10

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Matriz Consola C#
« Respuesta #2 en: Martes 17 de Agosto de 2010, 23:40 »
0
Muchisimas Gracias!!!!!!!!....me has salvado