循环判断问题

zyzy577048814 2014-05-25 10:54:24
现在有两个数组,数组内元素数量一样。一个数组是存放直线起点,一个是存放终点。(有些是方形的四条线,所以存在有终点等于起点的情况),现在我想取数组1的第1个元素与2数组所有元素比较,如果存在相等的数值的话就再取数组1第二个元素比较,一直取直到其在第2个数组中找不到与其相等的元素时将该元素的标号输到数组3中。(其实就想实现一个封闭的图型有几条边。)
我用了两个FOR但是If不知道写哪边。逻辑有点混乱。望大神指导
...全文
291 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
spt_petrolor 2014-05-27
  • 打赏
  • 举报
回复
引用 3 楼 of123 的回复:
利用三个 ListBox 存放你的点数据,这些 ListBox 可以是不可见的。
Private Declare Function SendMessagebyString Lib "user32" Alias "SendMessageA" (_
ByVal hWND As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVl lParam As String) As Long

Private Const LB_FINDSTRINGEXACT = &H1A2

Private Sub Command1_Click()
Dim i As Long
List3.Clear
For i = 0 To List1.ListCount - 1
    If -1 = SendMessagebyString(List2.hWnd, LB_FINDSTRINGEXACT, -1, List1.List(i)) Then 
        List3.AddItem List1.List(i)
    End If
Next i
End Sub
既然用list控件了,为什么不用集合?
of123 2014-05-26
  • 打赏
  • 举报
回复
利用三个 ListBox 存放你的点数据,这些 ListBox 可以是不可见的。
Private Declare Function SendMessagebyString Lib "user32" Alias "SendMessageA" (_
ByVal hWND As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVl lParam As String) As Long

Private Const LB_FINDSTRINGEXACT = &H1A2

Private Sub Command1_Click()
Dim i As Long
List3.Clear
For i = 0 To List1.ListCount - 1
    If -1 = SendMessagebyString(List2.hWnd, LB_FINDSTRINGEXACT, -1, List1.List(i)) Then 
        List3.AddItem List1.List(i)
    End If
Next i
End Sub
Chen8013 2014-05-25
  • 打赏
  • 举报
回复
要得到数组1的元素在数组2中“找不到”的列表,
一般来说就是用二重循环。
第一步是在内循环中进行“判断”: 如果相同就 Exit for。
第二步是在内层的for ...... next后判断:
如果内循环控制变量值大于“终值”,就表示没有找到相同;否则就是找到相同了。
在这儿,外循环控制变量的值,就是数组1中的某个“序号”。
具体如果处理这个序号,你看着办…………
caozhy 2014-05-25
  • 打赏
  • 举报
回复
难道你不知道动态规划么?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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