program Program1;
{$APPTYPE CONSOLE}
uses 
  SysUtils;
var
  a,b,c,d:array[1..4,1..4] of real;
  e,f,g,h:array[1..6,1..6] of real;
procedure print(var a:array[l1..u1:integer;l2..u2:integer] of real);
var
  i,j:integer;
begin
  for i:=l1 to u1 do
  begin
    for j:=l2 to u2 d
      write(a[i,j]:8:2);
    writeln;
  end;
end;{print}
procedure sm(var a,b,c,d:array[l1..u1:integer;l2..u2:integer] of real);
var
  i,j,k:integer;
begin
  for i:=l1 to u1 do
    for j:=l2 to u2 do
    begin
      c[i,j]:=a[i,j]+b[i,j];
      d[i,j]:=0;
      for k:=l1 to u1 do
        d[i,j]:=d[i,j]+a[i,k]*b[k,j];
    end;
end;
begin
  for i:=1 to 4 do
    for j:=1 to 4 do
      readln(a[i,j],b[i,j]);
  for i:=1 to 6 do
    for j:=1 to 6 d o
      readln(e[i,j],f[i,j]);
  sm(a,b,c,d);
  print(a);
  print(b);
  print(c);
  print(d);
  sm(e,f,g,h);
  print(e);
  print(f);
  print(g);
  print(h);
end.
//麻烦各位帮我修改一下程序,谢谢

解决方案 »

  1.   

    有一处要改为:for j:=1 to 6 do
    分虽然不多,各位帮个忙。
      

  2.   

    program Project2;{$APPTYPE CONSOLE}uses
      SysUtils;
    type
      Ta=array of array of real;
    var
      a,b,c,d,e,f,g,h:Ta; i,j:integer;
    procedure print( a:Ta);
    var
      i,j:integer;
    begin
      for i:=low(a) to high(a) do
      begin
        for j:=low(a[i]) to high(a[i]) do
          write(a[i,j]:8:2);
        writeln;
      end;
    end;{print}
    procedure sm(var a,b,c,d:Ta);
    var
      i,j,k:integer;
    begin
      for i:=low(a) to high(a) do
       for j:=low(a[i]) to high(a[i]) do
        begin
          c[i,j]:=a[i,j]+b[i,j];
          d[i,j]:=0;
          for k:=low(a) to high(a) do
            d[i,j]:=d[i,j]+a[i,k]*b[k,j];
        end;
    end;
    begin
      setlength(a,4,4);
      setlength(b,4,4);
      setlength(c,4,4);
      setlength(d,4,4);
      setlength(e,6,6);
      setlength(f,6,6);
      setlength(g,6,6);
      setlength(h,6,6);
      for i:=0 to 3 do
      begin
        for j:=0 to 3 do
          read(a[i,j]);
        readln;
      end;
      for i:=0 to 3 do
      begin
        for j:=0 to 3 do
          read(b[i,j]);
        readln;
      end;
      for i:=0 to 5 do
      begin
        for j:=0 to 5 do
          read(e[i,j]);
        readln;
      end;
      for i:=0 to 5 do
      begin
        for j:=0 to 5 do
          read(f[i,j]);
        readln;
      end;
      sm(a,b,c,d);
      print(a);
      print(b);
      print(c);
      print(d);
      readln;
      sm(e,f,g,h);
      print(e);
      print(f);
      print(g);
      print(h);
      readln;
    end.