TC官方合作论坛

标题: 排序把我绕晕了,求助 [打印本页]

作者: dyq28    时间: 2013-4-26 19:33
标题: 排序把我绕晕了,求助
我的情况是这样的,编辑框有十个,名字是从编辑框20-29,里面输入的数字,我想通过两个循环实现依次从小到大找出这数字
编辑框名                编辑20    编辑框21  编辑框22   编辑框23.。。。。。。。。。。编辑框29
编辑框输入内容        5                1               4                 3.。。。。。。。。。。。。。。2
现在代码可以编译,但是不管我怎么调试,只可以找出1.。。郁闷啊,求高手指点
我代码如下
    最小值=0
    上次值=0
    比较值=0

    遍历(行=0;行<10;行++)       //这个遍历我只要他数十次就可以
        
         比较值=编辑框.获得文本(文本1="编辑框20")
         辅助.消息框("上次值"&上次值)
        遍历(列=1;列<10;列++)      //这个遍历我要他每次找出最小值,但这最小值大于上次找出来的,我理想结果按实例第一次循环结束找出1,第二次找出2,第三次找出3,第四次找出4,第五次找出5.。。。
                  
            如果((比较值>编辑框.获得文本("编辑框2"&列 ))&&(比较值>上次值))
               最小值=列
                辅助.消息框("比较前上次值"&上次值)
              上次值=比较值     
               比较值=编辑框.获得文本("编辑框2"&列 )
            如果结束
         
        遍历结束
         辅助.消息框("比较后比较值"&比较值)
          辅助.消息框("比较后上次值"&上次值)
        辅助.消息框("此次最小值"&最小值)
  遍历结束
循环结束



作者: 幼园留级老油条    时间: 2013-4-26 19:38
  1. 把编辑框中的内容在数组中以从小到大的次序排列,然后返回出来对吧,这个可以实现
复制代码

作者: dyq28    时间: 2013-4-26 19:39
问题就是不知道出在上次值不更新,还是“如果((比较值>编辑框.获得文本(文本2))&&(比较值>上次值))”后面这个且条件不执行
作者: 幼园留级老油条    时间: 2013-4-26 19:40
  1. 我可以瞬间写给你,但是我要做别的事情,没时间
复制代码

作者: 幼园留级老油条    时间: 2013-4-26 19:41
问题就是不知道出在上次值不更新,还是“如果((比较值>编辑框.获得文本(文本2))&&(比较值>上次值))”后面这个且条件不执行
dyq28 发表于 2013-4-26 19:39:04
你的代码我都不用看,没有意义
作者: dyq28    时间: 2013-4-26 19:44
回复 5楼幼园留级老油条的帖子

帮我看下哪有问题,谢谢
作者: dyq28    时间: 2013-4-26 19:47
我知道还有很多方法,例如冒泡法,二分法等等之类,问题是我不只是要返回值,有个关联问题,所以那些算法我都用不上
作者: 幼园留级老油条    时间: 2013-4-26 21:45
  1. 功能 排序数组(编辑名)
  2.     内容=编辑框.获得文本(编辑名)//数值用英文半角逗号,连接
  3.     值,C1,最小值
  4.         字符串.分割(内容,",",值)
  5.         数组空间.大小(值,C1)
  6.         最小值=值[0]
  7.         jj=0,i=1,中间值
  8.         循环(真)
  9.             循环(i<C1)
  10.                 如果(值[i]<最小值)
  11.                     最小值=值[i]
  12.                 如果结束
  13.                 i++
  14.             循环结束
  15.             序号=数组空间.查找(值,最小值)
  16.             中间值=值[jj]
  17.             值[jj]=最小值
  18.             值[序号]=中间值
  19.             jj=jj+1
  20.             如果(jj>=C1)
  21.                 跳出
  22.             如果结束
  23.             最小值=值[jj]
  24.             i=jj+1
  25.         循环结束
  26.         返回 值
  27. 功能结束
  28. 功能 开启()
  29.     C1
  30. 数值=骑兵.排序数组("编辑框10")
  31. 数组空间.大小(数值,C1)
  32. 遍历(i=0;i<C1;i++)
  33.     辅助.消息框(数值[i])
  34. 遍历结束
  35. 功能结束
  36. 功能 按钮1111_点击()
  37. 线程.开启("骑兵.开启","")
  38. 功能结束
复制代码

作者: 幼园留级老油条    时间: 2013-4-26 21:49

[attach]8858[/attach]
[attach]8859[/attach]
[attach]8860[/attach]

作者: dyq28    时间: 2013-4-27 17:34
回复 9楼幼园留级老油条的帖子

你这个排序功能是实现了,可能我用不上,谢谢。。。。。我在想想,,,,,我不止十个文本框,有几十个,要关联的,例如文本框0关联文本框10和文本框20.。。。。。谢谢
作者: 幼园留级老油条    时间: 2013-4-27 17:42
回复 9楼幼园留级老油条的帖子

你这个排序功能是实现了,可能我用不上,谢谢。。。。。我在想想,,,,,我不止十个文本框,有几十个,要关联的,例如文本框0关联文本框10和
dyq28 发表于 2013-4-27 17:34:58
哦哦




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1