uses wincrt;
var
a,f,k:array[1..10,1..10] of integer;
b,c,g,h,l:longint; d,e,i,j,z:byte;
begin
writeln ('masukkan data untuk matriks 1 (M1)');
write ('berapa banyaknya baris matriks 1: '); readln(b);
write ('berapa banyaknya kolom matriks 1: '); readln(c);
writeln;
for d:=1 to b do
begin
for e:=1 to c do
begin
write ('entri data baris ke-',d,', kolom ke-',e,': '); readln(a[d,e]);
end;
end;
for d:=1 to b do
begin
for e:=1 to c do
begin
write(a[d,e]:10);
end;writeln;
end;writeln;
writeln ('masukkan data untuk matriks 2 (M2)');
write ('berapa banyak baris matriks 2: '); readln(g);
write ('berapa banyak kolom matriks 2: '); readln(h);
writeln;
for i:=1 to g do
begin
for j:=1 to h do
begin
write ('entri data baris ke-',i,', kolom ke-',j,': '); readln(f[i,j]);
end;
end;
for i:=1 to g do
begin
for j:=1 to h do
begin
write(f[i,j]:10);
end;writeln;
end;writeln;
if c=g then
begin
writeln;
writeln ('M1 x M2 : ');
for d:=1 to b do
begin
for l:=1 to h do
begin
for e:=1 to c do
begin
for j:=l to h do
begin
for i:=e to g do
begin
k[d,j]:=k[d,j]+a[d,e]*f[i,j];
if c=e then
begin
write (k[d,j]:4);
end;
i:=g;
end;
j:=h;
end;
end;
end;
writeln;
end;
end else
begin
writeln ('operasi matriks tidak dapat dilakukan');
writeln ('karena kolom Matriks 1 (',c,' kolom) tidak sama dengan baris Matriks 2 (',h,' baris)');
end;
end.

Posting Komentar