Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Meta en 18 Noviembre 2010, 07:14 am



Título: [Python] - Traspuesta
Publicado por: Meta en 18 Noviembre 2010, 07:14 am
Hola:

Ver ejercicio. (http://www.subeimagenes.com/img/wwwwwwwwwwwwwwwwwwwwwwwww-7140.jpg)

No se si vale la pena hacer este ejercicio. ¿Qué utilidad tiene en este caso?

Parace que tiene desplazamiento en los datos de la matriz y encima se incrtementó una matriz más grande. ¿Tiene mucho código para hacer esto?



Edito:

Ya entiendo algo.
Una traspuesta de una matriz la que tiene por filas las columnas,y por columnas las filas (de la matriz original)... El "cambio de tamaño" se debe a que la matriz NO es cuadrada, y las dimensiones se intercambian...

¿Cómo hago ese cambio tan a la ligera en la matriz?


Título: Re: [Python] - Traspuesta
Publicado por: Novlucker en 18 Noviembre 2010, 11:34 am
No termino de entender la duda, usa una matriz secundaría para ir almacenando los datos, ya que como puedes hacer todo con append no importa que haya que cambiar el las dimensiones de la matriz.

Saludos


Título: Re: [Python] - Traspuesta
Publicado por: Meta en 18 Noviembre 2010, 15:00 pm
Debo pasar de horizonal a vertical y al revés, de 3 x 4 a 4 x 3.

M = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]

¿Cómo se hace?


Título: Re: [Python] - Traspuesta
Publicado por: Novlucker en 18 Noviembre 2010, 15:11 pm
Pero entonces quieres el ejercicio hecho? Yo sigo sin entender que aprendes realmente, no aprendes si no lo haces por más que veas ejemplos, solo estas visualizando maneras de hacer las cosas, en lugar de logia de como hacerlo :-\

Saludos


Título: Re: [Python] - Traspuesta
Publicado por: Shell Root en 18 Noviembre 2010, 16:34 pm
Código
  1. # Transpose of a matrix
  2. # Shell Root
  3. # 2010
  4.  
  5.  
  6. #Definition and setting of variables
  7. M1 = [[1, 2,  3], [2, 12, 6], [1, 0, -3], [10, -1, 0]]
  8. M2 = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
  9.  
  10. for i in range(4):
  11. for j in range(3):
  12. M2[j][i] = M1[i][j]
  13.  
  14.  
  15. for i in range(3):
  16. print(M2[i])

Resultado,
Código
  1. alex@shellroot:~/Escritorio$ python PoC.py
  2. [1, 2, 1, 10]
  3. [2, 12, 0, -1]
  4. [3, 6, -3, 0]


Título: Re: [Python] - Traspuesta
Publicado por: Novlucker en 18 Noviembre 2010, 17:06 pm
Shell Root, podría ser uno que te pida las dimensiones y el input de la matriz para luego transponerla? :D

Saludos


Título: Re: [Python] - Traspuesta
Publicado por: Shell Root en 19 Noviembre 2010, 18:52 pm
xD, seh, pero como no sé Python, me toco declararla con 0's iniciales. XD


Título: Re: [Python] - Traspuesta
Publicado por: Novlucker en 19 Noviembre 2010, 19:10 pm
jaja, era para hacerlo divertido ;D Tu también, ponte con el libro :xD

Saludos