Program Perkalian Matrik di Turbo Pascal

Program Perkalian_Matriks;
uses crt;
var
   a,f,k:array[1..10,1..10] of integer;
   b,c,i,j,l,z:longint; m,n,d,e,g,h:byte;
begin  
clrscr;
{write(' Program Perkalian 2 Matriks');readln;writeln;}
writeln('Masukkan data untuk matriks pertama (M1)');
write('banyaknya baris matriks pertama: '); readln(b);
write('banyaknya kolom matriks pertama: '); readln(c);
    for d:= 1 to b do
    begin
    for e:= 1 to c do
       begin
       write('entri 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]:7);
    end;writeln;
end;writeln;
writeln('Masukkan data untuk matriks kedua (M2)');
write('berapa banyak baris matriks kedua? '); readln(g);
write('berapa banyak kolom matriks kedua? '); readln(h);
for i:= 1 to g do
    begin
    for j:=1 to h do
    begin
        write('entri 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]:7);
    end;writeln;
end;writeln;
if c=i then begin
   writeln('M1 x M2:');writeln;
   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]:7);
                  end;
                  i:=g;
               end;
               j:=h;
            end;
         end;
      end;
      writeln;
      end;
end else
begin
writeln('Maaf?! Operasi dari M1 x M2 tidak dapat dilakukan');
writeln('karena kolom M1 (',c,' kolom) tidak sama dengan baris M2 (',i,' baris)');
end;
readln;
end.
Previous
Next Post »