当前位置:编程学习 > VB >>

小白求助,O点总是加不进去


ReDim X(0 To n + 1), Y(0 To n + 1)
ReDim p(0 To n + 1), t(0 To n + 1)
X(0) = 0
Y(0) = 0
p(0) = 0
t(0) = 0
X(n + 1) = 1000
Y(n + 1) = 1000
p(n + 1) = 1000
t(n + 1) = 1000

    queue.Enqueue 0
    queuex.Enqueue X(0)
    queuey.Enqueue Y(0)
    Picture1.PSet (X(0), Y(0))
    Picture1.Print 0
    
 For cout = 1 To n
lp:  X(cout) = Int(Rnd * 1001)
  Y(cout) = Int(Rnd * 1001)
   For j = 0 To cout - 1
    If X(cout) = X(j) And Y(cout) = Y(j) Then GoTo lp
   Next j
   p(cout) = X(cout)
   t(cout) = Y(cout)
    queue.Enqueue cout
    queuex.Enqueue X(cout)
    queuey.Enqueue Y(cout)
    Picture1.PSet (X(cout), Y(cout))
 If cout >= 1 Then Command1.Enabled = True
 Command4.Enabled = True
 
 
 Picture1.Print cout
 Next cout
 
    queue.Enqueue l + 1
    queuex.Enqueue X(n + 1)
    queuey.Enqueue Y(n + 1)
    Picture1.PSet (X(n + 1), Y(n + 1))
    Picture1.Print n + 1
    
  paintnow = False
  cout = n
End Sub

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这样之后就0点实际没进,如果把0放后面(如下),1就不好使了,我很菜,谢谢大家帮忙改正。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


    
 For cout = 1 To n
lp:  X(cout) = Int(Rnd * 1001)
  Y(cout) = Int(Rnd * 1001)
   For j = 0 To cout - 1
    If X(cout) = X(j) And Y(cout) = Y(j) Then GoTo lp
   Next j
   p(cout) = X(cout)
   t(cout) = Y(cout)
    queue.Enqueue cout
    queuex.Enqueue X(cout)
    queuey.Enqueue Y(cout)
    Picture1.PSet (X(cout), Y(cout))
 If cout >= 1 Then Command1.Enabled = True
 Command4.Enabled = True
 
 
 Picture1.Print cout
 Next cout

  queue.Enqueue 0
    queuex.Enqueue X(0)
    queuey.Enqueue Y(0)
    Picture1.PSet (X(0), Y(0))
    Picture1.Print 0
    queue.Enqueue l + 1
    queuex.Enqueue X(n + 1)
    queuey.Enqueue Y(n + 1)
    Picture1.PSet (X(n + 1), Y(n + 1))
    Picture1.Print n + 1 --------------------编程问答-------------------- 第一次见到 goto这么用的。
lp --------------------编程问答-------------------- 我没怎么学过VB --------------------编程问答-------------------- 更没学过编程 --------------------编程问答-------------------- 不是vb的事。
楼主详细讲下你要达到什么目的,我不知道的话,有别的朋友知道。 --------------------编程问答-------------------- en ~ 
就是0点是(0,0),最后一点是(1000,1000),中间是随机产生的。
这些点放在队列里,可是总有一个点没进去,像前一种那样是0没进去,后面是1没进去。 --------------------编程问答-------------------- 看看我理解你的意思对否:
1、第一个点:(0,0)
2、最后一个点:(1000,1000)
3、X的范围:0~1000
4、Y的范围:0~1000
5、循环随机产生一系列的点(x,y) x属于[0,1000]  y属于[0,1000] 直到:x=1000,y=1000 --------------------编程问答--------------------
引用 6 楼 veron_04 的回复:
看看我理解你的意思对否:
1、第一个点:(0,0)
2、最后一个点:(1000,1000)
3、X的范围:0~1000
4、Y的范围:0~1000
5、循环随机产生一系列的点(x,y) x属于[0,1000]  y属于[0,1000] 直到:x=1000,y=1000

绝大部分都对,就是“直到:x=1000,y=1000”没有必要,生成多少个点是INPUT进去的
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,