乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 81|回复: 4

[求助]拜请各位大虾有关下标越界的问题!!!感激涕零

[复制链接]

2

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
19
发表于 2006-5-12 15:51:00 | 显示全部楼层 |阅读模式
我在编一个求点集凸包的程序
采点集的程序部分已经搞定了但到了去极点部分就老提示下标越界
下面是我的程序:
Option Explicit
Private Type pointinfo
x As Single                    '点的x 坐标值
y As Single                    '点的y 坐标值
q As Single                    '与水平线的夹角
End Type
Dim p0 As pointinfo
Dim p(1 To 200) As pointinfo    '点集
Dim ps(1 To 200) As pointinfo    '排序后的点集
Dim pi(1 To 200) As pointinfo   '极点
Dim n, m, d As Integer
Dim x0, y0 As Single
Dim l, e As Integer
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
DrawWidth = 4
If n = 0 Then
p0.x = x
p0.y = y
Circle (x, y), 100, RGB(255, 0, 255)
Else '输入点集
p(n).x = x
p(n).y = y
Circle (x, y), 10, RGB(255, 255, 0)
End If
n = n + 1
x0 = x
y0 = y
End Sub

Private Sub Command2_Click()
Dim i As Integer
Dim q As Single
p(n).x = x0
p(n).y = y0
Const pi = 3.14
For i = l To n
If p(i).y - p0.y = 0 Then         (总是在这句提示下标越界)
        If p(i).x - p0.x = 0 Then
           p(i).q = 90
        ElseIf p(i).x - p0.x > 0 Then
          p(i).q = 180 / pi * Atn((p(i).y - p0.y) / (p(i).x - p0.x))
        Else
            p(i).q = 180 / pi * Atn((p(i).y - p0.y) / (p(i).x - p0.x)) + 180
        End If
ElseIf p(i).y - p0.y  0 Then
          p(i).q = 360 + 180 / pi * Atn((p(i).y - p0.y) / (p(i).x - p0.x))
        Else
          p(i).q = 180 + 180 / pi * Atn((p(i).y - p0.y) / (p(i).x - p0.x))
        End If
End If
        
Next i
End Sub
回复

使用道具 举报

2

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
19
发表于 2006-5-12 22:29:00 | 显示全部楼层
请各位高手帮忙啊
救命
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2006-5-13 05:55:00 | 显示全部楼层
在Command2_Click中,n值是多少,在哪里确定?
回复

使用道具 举报

2

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
19
发表于 2006-5-13 14:28:00 | 显示全部楼层
随机的
在点击之前点个点多少点n为多少
上限为200
回复

使用道具 举报

2

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
19
发表于 2006-5-14 22:26:00 | 显示全部楼层

这个问题已经解决了
还是要感谢你的热心帮忙
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 15:56 , Processed in 0.784899 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表