Selasa, 20 Desember 2011

Pascal - Perkalian Matriks

program kali_matriks;
uses crt;
var mA,mB,mC : array [1..10,1..10] of byte;
    i,j,k,b1,b2,k1,k2 : byte;
begin
 clrscr;
 write('Baris Matriks A : '); readln(b1);
 write('Kolom Matriks A : '); readln(k1);
 writeln;

 write('Baris Matriks B : '); readln(b2);
 write('Kolom Matriks B : '); readln(k2);
 writeln;

 if k1<>b2 then
 repeat
 writeln('Maaf, Kolom Matriks A harus sama dengan Baris Matriks B');
 readln;
 clrscr;
 write('Baris Matriks A : '); readln(b1);
 write('Kolom Matriks A : '); readln(k1);
 writeln;

 write('Baris Matriks B : '); readln(b2);
 write('Kolom Matriks B : '); readln(k2);
 until k1=b2;

 clrscr;
 for i:= 1 to b1 do
  for j:= 1 to k1 do
  begin
   write('Input Matriks A [',i,',',j,'] : '); readln(mA[i,j]);
  end;
 writeln;



 for i:= 1 to b2 do
  for j:= 1 to k2 do
  begin
   write('Input Matriks B [',i,',',j,'] : '); readln(mB[i,j]);
  end;
 writeln;

 clrscr;
 writeln('Matriks A');
 for i:= 1 to b1 do
 begin
  for j:= 1 to k1 do
   write(ma[i,j]:4);
 writeln;
 end;
 writeln;

 writeln('Matriks B');
 for i:= 1 to b2 do
 begin
  for j:= 1 to k2 do
   write(mb[i,j]:4);
  writeln;
 end;
 writeln;

 writeln('Hasil Perkalian Matriks');
 for i:= 1 to b1 do
 begin
  for j:= 1 to k2 do
  begin
   for k:= 1 to b2 do
    mC[i,j]:=mc[i,j]+ma[i,k]*mb[k,j];
   write(mc[i,j]:4);
  end;
 writeln;
 end;
 readln;
end.

0 komentar:

Posting Komentar

 
Copyright © 2010 iM. All rights reserved.