我想用保形数组参数求一下两个矩阵的和与积,只不过程序无法运行,劳驾大虾们指点迷津……

xenon 2004-08-19 09:32:38
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.
//麻烦各位帮我修改一下程序,谢谢
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinweixian 2004-08-21
  • 打赏
  • 举报
回复
太长了。
qizhanfeng 2004-08-21
  • 打赏
  • 举报
回复
up
linzhengqun 2004-08-19
  • 打赏
  • 举报
回复
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.
xenon 2004-08-19
  • 打赏
  • 举报
回复
有一处要改为:for j:=1 to 6 do
分虽然不多,各位帮个忙。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧