哪错呢

zcgmai47 2008-09-16 07:38:54
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
a=array[1..10,1..10] of Integer;

var
i,j:Integer;
x:a;


begin

for i := low(a) to high(a) do
begin
a[i,1]:=1;
a[i,i]:=1;
end;
for i := 1 to 10 do
for j := 1 to 10 do
begin
a[i,j]:=a[i-1,j-1]+a[i-1,j];
end;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(a[i,j],' ');
writeln;
end;

readln;
end.
...全文
138 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
DumDum 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xmfan2000 的回复:]
a[i,j]:=a[i-1,j-1]+a[i-1,j];
你定义的数组是从1开始的,当i=1时越界了。
[/Quote]
jacknes009 2008-09-18
  • 打赏
  • 举报
回复
for i := low(x) to high(x) do
begin
x[i,1]:=1;
x[i,i]:=1;
end;

for i := 2 to 10 do
for j := 2 to 10 do
begin
x[i,j]:=x[i-1,j-1]+x[i-1,j];
end;


for i := 1 to 10 do
begin
for j := 1 to 10 do
write(x[i,j],' ');
writeln;
end;

readln;
gwhdaxia 2008-09-18
  • 打赏
  • 举报
回复
for i := low(x) to high(x) do
begin
x[i,1]:=1;
x[i,i]:=1;
end;

for i := 2 to 10 do
for j := 2 to 10 do
begin
x[i,j]:=x[i-1,j-1]+x[i-1,j];
end;


for i := 1 to 10 do
begin
for j := 1 to 10 do
write(x[i,j],' ');
writeln;
end;

readln;
火龙岛主 2008-09-18
  • 打赏
  • 举报
回复
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
a = array[1..10, 1..10] of Integer;

var
i, j: Integer;
x: a;


begin
for i := low(x) to high(x) do
begin
x[i, 1] := 1;
x[i, i] := 1;
end;
for i := 1 to 10 do
for j := 1 to 10 do
begin
x[i, j] := x[i - 1, j - 1] + x[i - 1, j];
end;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(x[i, j], ' ');
writeln;
end;
readln;
end.

首先是a是你定义的类型,所以不能用来变量使用。
就好比你integer不能用作变量是相同的道理,
因此,你把a换成x就可以编译通过了。
kampan 2008-09-18
  • 打赏
  • 举报
回复
越界了,没有a[0] 当i=1时则出现a[0]
喝口水 2008-09-18
  • 打赏
  • 举报
回复
a[i,j]:=a[i-1,j-1]+a[i-1,j];
gwhdaxia 2008-09-18
  • 打赏
  • 举报
回复
没看懂你要的是什么结果
easy088 2008-09-18
  • 打赏
  • 举报
回复
结贴,给分。
easy088 2008-09-18
  • 打赏
  • 举报
回复
终于在,不懈努力下,完成了杨辉三角

复制出来

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
a=array[1..10,1..10] of Integer;

var
i,j:Integer;
x:a;


begin

for i := low(x) to high(x) do
begin
x[i,1]:=1;
x[i,i]:=1;
end;
for i := 1 to 10 do
for j := 1 to 10 do
begin
x[i+1,j+1]:=x[i,j]+x[i,j+1];
end;
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
if x[i,j]=0 then continue;
write(x[i,j],' ');
end;
writeln;
end;

readln;
end.
zcgmai47 2008-09-18
  • 打赏
  • 举报
回复
输出结果,两边既然不是全1
zcgmai47 2008-09-18
  • 打赏
  • 举报
回复
zcgmai47 2008-09-18
  • 打赏
  • 举报
回复
首先是,变量搞错了,代码整理一下,把a换成x

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
a=array[1..10,1..10] of Integer;

var
i,j:Integer;
x:a;


begin

for i := low(x) to high(x) do
begin
x[i,1]:=1;
x[i,i]:=1;
end;
for i := 1 to 10 do
for j := 1 to 10 do
begin
x[i,j]:=x[i-1,j-1]+x[i-1,j];
end;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(x[i,j],' ');
writeln;
end;

readln;
end.



然后,通过编译,运行,弹出为
http://p12.freep.cn/p.aspx?u=v20_p12_p_0809181345236400_0.jpg
原来是数组下标越界

最后,再次修改了一下,代码为
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
a=array[0..10,0..10] of Integer;

var
i,j:Integer;
x:a;


begin

for i := low(x) to high(x) do
begin
x[i,1]:=1;
x[i,i]:=1;
end;
for i := 1 to 10 do
for j := 1 to 10 do
begin
x[i,j]:=x[i-1,j-1]+x[i-1,j];
end;
for i := 1 to 10 do
begin
for j := 1 to 10 do
write(x[i,j],' ');
writeln;
end;

readln;
end.


结果运行出来还是没有得到正确的结果,图
http://p12.freep.cn/p.aspx?u=v20_p12_p_0809181359051089_0.jpg
xmfan2000 2008-09-17
  • 打赏
  • 举报
回复
a[i,j]:=a[i-1,j-1]+a[i-1,j];
你定义的数组是从1开始的,当i=1时越界了。
zcgmai47 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fenger8293 的回复:]
是编译不过去还是结果不对。
for i := low(a) to high(a) do
begin
a[i,1]:=1;
a[i,i]:=1;
end;
你这个好象不大对吧.
[/Quote]

把a改成x后
Messages显示错误
见图
http://p12.freep.cn/p.aspx?u=v20_p12_p_0809172319512652_0.jpg
手指风 2008-09-16
  • 打赏
  • 举报
回复
是编译不过去还是结果不对。
for i := low(a) to high(a) do
begin
a[i,1]:=1;
a[i,i]:=1;
end;
你这个好象不大对吧.
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要求,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

16,741

社区成员

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

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