10.04.2017

Ma trận

Lập trình để:
   - Nhập ma trận A,B (vuông, cùng cấp ) từ bàn phím, với dáng ma trận trên màn hình.
   - Tính A+B , A*B.
   - Hiển thị kết quả lên màn hình dưới dạng ma trận.
                                                                 Giải
ues crt; Const n=3; Type Ma_tran=Array[1..n,1..n] of Real;
Var A,B,C,D :Ma_tran; i,j : Integer;
PROCEDURE NHAPMT(VAR A:Ma_tran;d:Integer;hd:Char);
   Begin For i:=1 to n Do For j:=1 to n Do Begin Gotoxy((j-1)*13+1,(i-1)+d); Write(hd,i,j,'='); ReadLn(A[i,j]); End; End;
PROCEDURE VIETMT(A:Ma_tran;d:Integer;hd:Char);
   Begin For i:=1 to n Do For j:=1 to n Do
               Begin Gotoxy((j-1)*13+1,(i-1)+d); Write(hd,i,j,'=',A[i,j]:6:1); End; End;
PROCEDURE CONGMT(A,B:Ma_tran; Var C:Ma_tran);
       Begin For i:=1 to n do For j:=1 to n Do c[i,j]:=a[i,j]+b[i,j]; End;
PROCEDURE NHANMT(A,B:Ma_tran; Var C:Ma_tran);
   Var i,j,k:Integer;   s:Real;
   Begin
       For i:=1 to n do For j:=1 to n Do Begin s:=0; For k:=1 to n Do s:=s+a[i,k]*b[k,j]; c[i,j]:=s; End; End;
Begin
   TextBackGround(Blue); TextColor(White); ClrScr;
   NHAPMT(A,2,'A'); NHAPMT(B,8,'B'); CONGMT(A,B,C); Writeln;
   Write(' Ma tran tong cua hai ma tran A+B la: '); TextColor(Yellow); VIETMT(C,14,'C'); Writeln;
   Write(' Ma tran tich cua hai ma tran A*B la:'); TextColor(red); NHANMT(A,B,D); VIETMT(D,20,'D');
   ReadLn;
End.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét