Sabtu, 03 Maret 2012

Perkalian Matrik

Program kali_matriks;
uses wincrt;
type
matriksint = array [1..20,1..20] of integer;
var
M,a,b : matriksint; p , q: integer;

procedure bacamatriks (var M:matriksint;Nbar,Nkol:integer);
var i,j: integer;
begin
for i:=1 to Nbar do
begin
for j:= 1 to Nkol do
begin
write ('M[',i,',',j,'] = ');readln (M[i,j]);
end;
end;
end;

procedure tulismatriks (var M:matriksint;Nbar,Nkol:integer);
var i,j : integer;
begin
for i:= 1 to Nbar do
begin
for j:= 1 to Nkol do
begin
write (M[i,j]);
end;
writeln;
end;
end;

procedure kalimatriks (a,b:matriksint; Nbar,Nkol : integer);
var
hasil:matriksint;
i,j,z : integer;
begin
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
hasil[i,j] := 0;
for z := 1 to Nbar do
hasil[i,j] := hasil[i,j]+a[i,z]*b[z,j];
begin
gotoxy (j*5,i*23);
write(hasil[i,j]) ;
end;
end;
writeln;
end;
end;

begin
writeln ('MATRIK A ');
write ('masukkan jumlah baris : '); readln (p);
write ('masukkan jumlah kolom : '); readln (q);
bacamatriks (a,p,q);
write ('A = ');
writeln;
tulismatriks (a,p,q);
writeln;
writeln ('MATRIKS B ');
write ('masukkan jumlah baris : '); readln (p);
write ('masukkan jumlah kolom : '); readln (q);
bacamatriks (b,p,q);
write ('B = ');
writeln;
tulismatriks (b,p,q);
writeln ('hasil perkalian matriks adalah : ');
kalimatriks (a,b,p,q);
end.

Tidak ada komentar:

Posting Komentar