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