sábado, 20 de enero de 2007

Traspuesta matriz en pascal

Este procedimiento realiza la matriz traspuesta a una dada.
La Matriz traspuesta se obtiene intercambiando las filas por las columnas
de una matriz.

Dado la declaración en la sección de tipos:

type
tDimension = 1..100;
eMatriz(f,c: tDimension) = array [1..f,1..c] of real;

tpMatriz = ^eMatriz;

Y las variables:

var
pM1, pM2, pResul: tpMatriz;
procedure MatrizTraspuesta(var resul: tpMatriz);
var i,j,i2,j2: integer;
mAux:tpMatriz; {Matriz axuliar}
begin
{Crear matriz m copia de resul}
new (mAux, resul^.f, resul^.c);

for i2:= 1 to mAux^.f do
for j2:=1 to mAux^.c do
mAux^[i2,j2] := resul^[i2,j2];

{ copia de la matriz resul }
for i:= 1 to mAux^.f do
for j:=1 to mAux^.c do
resul^[i,j] := mAux^[j,i];

end;

2 comentarios:

Anónimo dijo...

al patequeso que puso esta cagada: lo copie y no me funciona en el turbo pascal

toughs dijo...

z8t00t8m05 c2w79b7o52 m4y15l1p41 i3c52w2i44 t3c82x0j98 g7d89e5v11