• Domingo 22 de Diciembre de 2024, 09:03

Autor Tema:  Optimizar Declaraciones De Matrizes  (Leído 1689 veces)

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Optimizar Declaraciones De Matrizes
« en: Miércoles 6 de Julio de 2005, 05:56 »
0
Código: Text
  1.  public void CrearMatriz(int[][] matrizA, int[][] matrizB) {
  2.  
  3.             int fil;
  4.             int col;
  5.  
  6.             Console.Write("ingrese el numero de filas de la matriz: ");
  7.             fil = int.Parse(Console.ReadLine());
  8.  
  9.             Console.Write("ingrese el numero de columnas de la matriz: ");
  10.             col = int.Parse(Console.ReadLine());
  11.  
  12.             matrizA = new int[fil][];
  13.             for (int i = 0; i < fil; i++)
  14.                 matrizA[i] = new int[col];
  15.  
  16.             matrizB = new int[fil][];
  17.             for (int i = 0; i < fil; i++)
  18.                 matrizB[i] = new int[col];
  19.             
  20.         }
  21.  

quiero optimizar ese codigo?, alguien tiene alguna idea?


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Optimizar Declaraciones De Matrizes
« Respuesta #1 en: Miércoles 6 de Julio de 2005, 08:31 »
0
Funcionaria esto?
Código: Text
  1. matrizA = new int[fil][col];
  2.  


YO no le he probado, pero si funciona te ahorras los for.

Saludos
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Optimizar Declaraciones De Matrizes
« Respuesta #2 en: Miércoles 6 de Julio de 2005, 14:07 »
0
creo que no funciona.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Optimizar Declaraciones De Matrizes
« Respuesta #3 en: Miércoles 6 de Julio de 2005, 14:30 »
0
Esto optimizaria tu codigo:
Código: Text
  1.  public void CrearMatriz(out int[][] matrizA, out int[][] matrizB)
  2.       {
  3.            int col, i;
  4.  
  5.            Console.Write("ingrese el numero de filas de la matriz: ");
  6.            matrizA = new int[int.Parse(Console.ReadLine())][];
  7.            
  8.            Console.Write("ingrese el numero de columnas de la matriz: ");
  9.            col = int.Parse(Console.ReadLine());    
  10.  
  11.            while(i<matrizA.Length)
  12.                matrizA[i++] = new int[col];
  13.  
  14.            matrizB = MatrizA.Clone();      
  15.        }
  16.  
Esto se usa mucho pero con jagged matrix, es decir donde no necesariamente todas las filas son de 'n' columnas sino que algunas filas son de 'x' y otras de 'z' o'y' columnas.

Pero como segun veo lo que quieres es una matriz de n*m es mejor asi:
Código: Text
  1.  public void CrearMatriz(out int[,] matrizA, out int[,] matrizB)
  2.       {
  3.            int col,  fil;
  4.  
  5.            Console.Write("ingrese el numero de filas de la matriz: ");
  6.            fil = int.Parse(Console.ReadLine());
  7.  
  8.            Console.Write("ingrese el numero de columnas de la matriz: ");
  9.            col = int.Parse(Console.ReadLine());
  10.  
  11.            matrizA = new int[fil,col];
  12.            matrizB = matrizA.Clone();      
  13.        }
  14.  

Si te fijas en ambos casos coloqué en los parametros out, pero no estoy seguro si es permitido en el uso de matrices, eso lo tendrás que verificar tú.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Optimizar Declaraciones De Matrizes
« Respuesta #4 en: Sábado 9 de Julio de 2005, 20:21 »
0
diferencia entre estas dos declaraciones:

Código: Text
  1. int[][] M;
  2.  
  3. int[,] M;
  4.  


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Optimizar Declaraciones De Matrizes
« Respuesta #5 en: Sábado 9 de Julio de 2005, 22:20 »
0
la primera te sirve para decalarar matrices de 'n' filas
donde cada fila tiene un numero indeterminado e columnas es decir, la primera fila tiene por ejemplo 5 columnas, la segunda tiene 2 etc etc... segun lo que necesites

por esta razon eso no se llama matriz sino suele llamarse jagged array

y la segunda si son propiamente matrrices de 'n' filas por 'm' columnas, es decir todas y cada una de las filas tienen el mismo numero de columnas por lo que si es realmente una matriz.

como es de suponerce la primera tiene más implicaciones de rendimiento que la segunda.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Optimizar Declaraciones De Matrizes
« Respuesta #6 en: Sábado 9 de Julio de 2005, 22:23 »
0
:kicking:

Gracias JuanK!


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!