Chương trình Ma trận chuyển vị 2


Viết chương trình nhập vào một ma trận A vuông cấp n. Chuyển A thành chính mà trận chuyển vị của A (không sử dụng ma trận trung gian).

Program Ma_Tran_Chuyen_Vi2;
Uses Crt;
Type MT = array[1..20,1..20] of integer; Var a,b:MT;
n,m:integer;
Procedure Input(Var a:MT;n:integer); Var i, j:integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin

Write(‘a’,i,j,’=’); Readln(a[i,j]);
End;
End;
Procedure Output(a:MT;n:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin

For j:=1 to n do
Write (a[i,j]:3); Writeln;
End;
End;
Procedure Chuyenvi(var a:MT; n:integer); Var i,j,t:integer;
Begin
For i:=1 to n do
For j:=i+1 to n do
Begin

t:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=t;
End;
End;

Begin
Clrscr;
Writeln(‘TIM MA TRAN CHUYEN VI’);
Write(‘Nhap vao cap ma tran vuong n = ‘);readln(n); Input(a,n);
Writeln(‘Ma tran a la:’); Output(a,n); Chuyenvi(a,n);
Writeln(‘Ma tran chuyen vi b la:’); Output(a,n);

Readln;

End.