萌新想问下, 我的代码,,哪里错了

[复制链接]
查看11 | 回复8 | 2021-1-27 06:05:16 | 显示全部楼层 |阅读模式
PrivateSubguanghua1()
Dimx1!,y1!,x2%,y2!,aAsVariant,j%,b%(42),i%
a=Array(86,87,82,67,61,59,86,77,76,99,108,169,_
151,243,274,347,417,547,735,814,820,1051,1091,1142,_
1127,1012,940,810,705,593,431,346,239,192,130,95,53,32,14,11,7)
Picture1.Cls
Picture1.DrawStyle=0
x1=200:y1=Picture1.ScaleHeight-200
x2=Picture1.ScaleWidth-200:y2=200
Picture1.Line(x1,y1)-(x2,y1)'x
Picture1.Line(x1,y2)-(x1,y1)'y
Forj=1To42
b(j)=129+i
Nextj
Fori=1To42
Picture1.PSet(b(i),a(i)),vbRed
Nexti
顺便在问一下,图片框里给定的坐标系上打出b(i),a(i)绘出函数图像啊!。。。。啊啊啊啊啊想了好久,,,
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
aaa===求救啊啊啊
回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
Forj=1To42
b(j)=129+i
Nextj
其中i没有赋值,始终=0,因此,b(j)也始终=129,估计问题就在这里。

回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
OptionBase1
这个代码里面有的,我少打上去了,对不起了各位大神,关于楼上所说的我改了一下变成了j但是显示
Picture1.PSet(b(i),a(i)),vbRed
下标越界
回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
引用2楼u013249970的回复:Forj=1To42
b(j)=129+i
Nextj
其中i没有赋值,始终=0,因此,b(j)也始终=129,估计问题就在这里。

啊,大神我怀疑是我写的函数打印在坐标区间有问题,
回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
引用3楼qq_33160636的回复:下标越界
你的a成员只有41个!却要循环到42!!!
下标越界第一时间检查数组大小啊。
回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
“多一少一”问题占程序员常犯错误的10%以上!
避免“多一少一”问题的方法之一是将比如、>=中的哪个?

回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层



回复

使用道具 举报

千问 | 2021-1-27 06:05:16 | 显示全部楼层
Forj=1To42
b(j)=129+i
Nextj
Fori=1To42
Picture1.PSet(b(i),a(i)),vbRed
Nexti
‘修改为:
Forj=0To41
b(j)=129+j
Nextj
Fori=0To41
Picture1.PSet(b(i),a(i)),vbRed
Nexti
a=Array(86,87,82,67,61,59,86,77,76,99,108,169,_
151,243,274,347,417,547,735,814,820,1051,1091,1142,_
1127,1012,940,810,705,593,431,346,239,192,130,95,53,32,14,11,7)
'a数组是(0To41)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行