回 帖 发 新 帖 刷新版面

主题:怎么知道循环中的跳变?

有一计算的循环,结果为变量k,k的值为1或0,开始为1或0,我要怎么知道何时变0或变1。我要计算连续的有几个0或连续的有几个1.

回复列表 (共17个回复)

11 楼

你把你做的整个循环贴上来我看看!

12 楼

大体上是这样,应该能实现
g=0
tt=0
For i=1 To 1000
  
  L为随机输出的值1或0
  If L=tt 
        g=g+1 
    Else 
             
        g=1 
        tt=1
    Endif 
Endfor 
 但循环完后要取得其中1的连续个数最大值,第二大值和0的连续个数最大值,第二大值
我现在的想法是在else后把g值赋予数组变量,不过数组不是要很多,给我提个参考,谢谢

13 楼

VFP - 工具 - 调试器 - F5 - 选择要运行的程序

按F8单步运行

窗口 - 监视  (ALT + 3)

可以在监视文本框内添加需要跟踪的变量的值、对象的属性等等等等。

14 楼

谢谢楼上,又长知识了

下面我做的
g=0
tt=0
For i=1 To 1000
  
  L为随机输出的值1或0
       If l=tt
           g=g+1 
           Else 
             IF l=0                        
             lz=IIF(lz<g,g,lz) 
              tt=0          
             else   
              lbz=IIF(lbz<g,g,lbz)      
               tt=1
              ENDIF 
                     g=1
                                       
          ENDIF  
Endfor 
 这个能算出最大值,但不能算出第二大值

15 楼

你的问题是汉若塔的递归问题.

i=0
j=0
do while .t.
  if 表达式=i
     j=j+1
  else
     ?j
     j=0
     i=表达式
     if messagebox('是否继续',3+32+256,'')=6
        exit
     endif 
  endif 
enddo

16 楼


如果要:::能算出最大值,也能算出第二大值

要么用表排序,要么用起泡法

17 楼

什么叫起泡法,刚起步,真不知道,汗

我来回复

您尚未登录,请登录后再回复。点此登录或注册