小白求助,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 --------------------编程问答--------------------
绝大部分都对,就是“直到:x=1000,y=1000”没有必要,生成多少个点是INPUT进去的
补充:VB , 基础类