找回密码
 加入
搜索
查看: 13270|回复: 20

[系统综合] 如何求一维数组里的最小值,帮助文件里说的求不出来【已解决】

 火.. [复制链接]
发表于 2011-4-10 20:53:13 | 显示全部楼层 |阅读模式
本帖最后由 zhurongfei 于 2011-4-12 08:54 编辑

有个数组里面有30多个数字,含有10以下一位数字时,求的最小值错误,观察了一下电脑的排序大致为1.11.12.13.14.15.16.17.18.19.2.21.22.23.24.25.26.27.28.29.3
所以得出错误的数,如果把10以下的数字前面加零,得出的结果正确,这个事为什么呀!
发表于 2011-4-10 20:55:18 | 显示全部楼层
本帖最后由 netegg 于 2011-4-10 20:56 编辑

第一个元素是返回数组的元素个数,没错的
 楼主| 发表于 2011-4-10 20:56:12 | 显示全部楼层
_arraymin这个是不可以的,是错值
发表于 2011-4-10 20:57:39 | 显示全部楼层
回复 3# zhurongfei

出来什么结果?
 楼主| 发表于 2011-4-10 21:07:11 | 显示全部楼层
#include <Array.au3>
$i=0
Dim $avArray[32]
$Chdir="D:\DOWNLOAD\2011\"     
$search = FileFindFirstFile($Chdir&"*.*")  
If $search = -1 Then
       ; MsgBox(0, "Error", "No files/directories matched the search pattern")
        Exit
EndIf
While 1
        $file = FileFindNextFile($search)
  If @error Then ExitLoop
    $avArray[$i]=$file
    ;MsgBox(0, "Error", $avArray[$i])
     $i=$i+1
WEnd
FileClose($search)
MsgBox(4096, "index:", _ArrayMin( $avArray, 1,1))
上面是代码,出来有时是空值,有时正确
发表于 2011-4-10 21:23:56 | 显示全部楼层
本帖最后由 蜘蛛抱蛋 于 2011-4-10 21:27 编辑

看一下UDF,排序主要用了两个函数,判断为数字的话就用==,判断为字符串就用StringCompare,你这个貌似是当做字符串取最小值了
另外还有一种可能是你的数字根本不是数字类型,你用stringtobinary函数看看
发表于 2011-4-10 22:02:31 | 显示全部楼层
很明显,错将字符串当成数值了.
发表于 2011-4-10 23:04:52 | 显示全部楼层
昨天才回复了类似的问题
http://www.autoitx.com/thread-23585-1-1.html
发表于 2011-4-10 23:08:30 | 显示全部楼层
看见别人跌倒,希望自己不会在同一个地方跌倒 嘿嘿
发表于 2011-4-11 01:36:42 | 显示全部楼层
把文件名的后缀全删了再试试
发表于 2011-4-11 07:10:36 | 显示全部楼层
电脑将字符串当数值啦,学习一下
 楼主| 发表于 2011-4-11 12:44:41 | 显示全部楼层
现在能看出$file = FileFindNextFile($search),得出的文件名,都是字符串,有没有什么好方法将$file转化为数值,用number还是没有转化过来。
发表于 2011-4-11 13:19:38 | 显示全部楼层
回复 12# zhurongfei
Execute
 楼主| 发表于 2011-4-11 23:16:47 | 显示全部楼层
回复 13# 3mile

还是没有什么好的方法改变电脑的排序,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,******29,3,30.。。。,那位有很好的解决方法吗,number,EXECUTE,什么转化统统都不能改变它的排列顺序!有没有谁解决这个问题的经验啊!
发表于 2011-4-11 23:48:47 | 显示全部楼层
回复 14# zhurongfei
$avArray[$i]=Execute($file)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-2 08:39 , Processed in 0.093297 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表