天那,什么逻辑,它应该是False呀!
If a(1, 2) > a(1, 1) And a(1, 3) > a(1, 2) And a(2, 2) > a(2, 1) And a(2, 3) > a(2, 2) Then col = True
If a(2, 1) > a(1, 1) And a(2, 2) > a(1, 2) And a(2, 3) > a(1, 3) Then row = True
If col = True And row = True Then '让人难以理解的是这两个变量居然是True!
Label1.Caption = a(1, 1)
Label2.Caption = a(1, 2)
Label3.Caption = a(1, 3)
Label4.Caption = a(2, 1)
Label5.Caption = a(2, 2)
Label6.Caption = a(2, 3)
End If
天哪,执行如上语句,六个label的caption分别显示的是1,5,5,5,5,6。为什么呀?这样的话逻辑变量col和row的值应该都是False啊!莫非显示的并不是数组的值?
问题点数:10、回复次数:10Top
1 楼jinjazz(近身剪)回复于 2005-09-02 18:25:08 得分 2
else col=falseTop
2 楼wendream(dreamwen)回复于 2005-09-02 18:28:55 得分 0
请问else col=false 应该放在那里呀?
这条语句好象没什么来由的吧?Top
3 楼jjkk168(老加班的人--好好学习,天天吃饭)回复于 2005-09-02 18:35:48 得分 1
你在你的第一句代码前面加入断点,看看col的默认值是不是true,或者看看row的值是不是trueTop
4 楼wendream(dreamwen)回复于 2005-09-13 13:10:19 得分 0
我试过了.col的默认值是false,row的值是false.
col和row 我都定义的是窗体变量.在窗体的装载事件中就赋值为false了。Top
5 楼wendream(dreamwen)回复于 2005-09-13 13:12:31 得分 0
完整代码如下:
'/*************************************************************************************/
'把123456填入如下表格内:
'----------------------
'| | | |
'| | | |
'----------------------
'| | | |
'| | | |
'----------------------
'要求:1、每一列右边的数字比左边的大
' 2、每一行下面的数字比上面的大
'/*************************************************************************************/
Option Base 1 ' 设定数组下限从数字1开始
Option Explicit
Dim a(2, 3), i, j As Integer
Dim b(4) As Integer
Dim a1, a2, a3, a4 As Integer
Dim col, row As Boolean
Private Sub Command1_Click()
Dim b(4), i As Integer
Randomize
i = 1
j = 1
For i = 1 To 2 '将数组清零
For j = 1 To 3
a(i, j) = 0
Next j
Next i
b(1) = 2
For i = 2 To 4
b(i) = i + 1
Next i
a(1, 1) = 1
a(2, 3) = 6
For a1 = 1 To 4
For a2 = 1 To 4
For a3 = 1 To 4
For a4 = 1 To 4
a(1, 2) = b(a1)
a(1, 3) = b(a2)
a(2, 1) = b(a3)
a(2, 2) = b(a4)
If (a(1, 2) > a(1, 1)) And (a(1, 3) > a(1, 2)) And (a(2, 2) > a(2, 1)) And (a(2, 3) > a(2, 2)) Then col = True
If (a(2, 1) > a(1, 1)) And (a(2, 2) > a(1, 2)) And (a(2, 3) > a(1, 3)) Then row = True
If col = True And row = True Then
Label1.Caption = a(1, 1)
Label2.Caption = a(1, 2)
Label3.Caption = a(1, 3)
Label4.Caption = a(2, 1)
Label5.Caption = a(2, 2)
Label6.Caption = a(2, 3)
For i = 1 To 10
For j = 1 To 10000
Next j
Next i
End If
Next a4
Next a3
Next a2
Next a1
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
i = 1
j = 1
For i = 1 To 2
For j = 1 To 3
a(i, j) = 0
Next j
Next i
col = False
row = False
End Sub
Top
6 楼wendream(dreamwen)回复于 2005-09-13 13:14:26 得分 0
各位前辈高手帮我看下嘛.难到说csdn上都没有高手了么?或者竟然没有一个热心帮助别人的人?
帮帮忙哈.Top
7 楼phommy(石头,竹子,诗)回复于 2005-09-13 13:21:01 得分 2
If col = True And row = True Then
请注意逻辑运算的优先级问题
if (col=true ) and (row=true)
if col= (true and (row=true))
if (col= (true and row)) =true
if col= ((true and row) =true)
是哪一种?Top
8 楼WM_JAWIN(失业,找工作中...)回复于 2005-09-13 13:42:24 得分 2
还是你逻辑有问题!
你改成这样试试
...
If col = True And row = True Then
stop'<-----加一行
Label1.Caption = a(1, 1)
..
运行暂停时,你看看那些值是什么,我看了几个,基本正常Top
9 楼Tiger_Zhao(VB老鸟)回复于 2005-09-13 14:39:41 得分 2
jinjazz(近身剪(充电中...))已经解答了:
If (a(1, 2) > a(1, 1)) And (a(1, 3) > a(1, 2)) And (a(2, 2) > a(2, 1)) And (a(2, 3) > a(2, 2)) Then
col = True
Else
col = False
End If
If (a(2, 1) > a(1, 1)) And (a(2, 2) > a(1, 2)) And (a(2, 3) > a(1, 3)) Then
row = True
Else
row = False
End If
Top
10 楼SFMrp2000(答对了把分给我!!!)回复于 2005-09-13 15:48:25 得分 1
嘻嘻...Top
相关问题
- 今天看数理逻辑,好玩。
- 一个小逻辑应该如何实现?帮忙看一下!
- 一个小逻辑应该如何实现?帮忙看一下!
- 商业逻辑应该放在entity bean里还是session bean里比较好
- 这种逻辑上不具有父子关系的类是否应该继承?
- 我用钩子钩到某进程的wm_mousemove消息,但是得到的鼠标位置是它的逻辑坐标,用clienttoscreen或lptodp等函数进行转换都没有转换过来,请问应该怎么才能变成屏幕坐标???
- 商业逻辑应该放在entity bean里还是session bean里比较好(前个帖子我进不去了)
- 请问各位大师,逻辑异或运算符应该怎么写,高分征集
- 在XSL中使用Javascipt时使用逻辑判断符>时,应该用什么来转义呢?
- 不合逻辑?




