找回密码
 加入
搜索
查看: 4651|回复: 10

[AU3基础] 如何数植统计 。[已解決]

  [复制链接]
发表于 2010-3-13 22:12:30 | 显示全部楼层 |阅读模式
本帖最后由 yfei9999 于 2010-3-14 13:00 编辑

提个问题   我是个新手 感觉 比较难 请指点 一下
问题如下:
从000到999中随意输入一个数,没重复的按一次计算,重复的统计次数,随机输入多少次以后,按重复次数从多到少或从少到多排列,列出表格
比如输入:
012
023
123
235
678
023
023
678
.......
然后排列
023  3次
678  2次
012  1次
123  1次
235  1次
.......

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-3-13 22:28:29 | 显示全部楼层
本帖最后由 水木子 于 2010-3-13 22:29 编辑

没明白LZ的意思,能再描述清楚些吗?

统计每组数值重复了多少次?
 楼主| 发表于 2010-3-13 22:32:14 | 显示全部楼层
回复 2# 水木子


    统计每组数值重复了多少次 就是这样
发表于 2010-3-13 22:37:54 | 显示全部楼层
回复 3# yfei9999
能否把你那个文本,“第一行123 第二行321 等三行123” 那个发上来看看!你这样举例有点难猜!
发表于 2010-3-13 23:38:14 | 显示全部楼层
本帖最后由 水木子 于 2010-3-13 23:41 编辑

不知道LZ是不是这意思?
#include <Array.au3>
Local $Text

$sText = '第一行 123' & @CRLF & _
                '第二行 321' & @CRLF & _
                '等三行 123' & @CRLF & _
                '第四行 456' & @CRLF & _
                '第五行 123' & @CRLF & _
                '第六行 321' & @CRLF & _
                '等七行 123' & @CRLF & _
                '第八行 456' & @CRLF & _
                '第九行 123' & @CRLF & _
                '第十行 789'
                
MsgBox(0, '原字符串', $sText)

$sRe = StringRegExp($sText, '\d+', 3)
$var = _ArrayUnique($sRe)
For $i = 1 To $var[0]
        $sReg = StringRegExp($sText, $var[$i], 3)
        $Text &= $var[$i] & '   出现了'& UBound($sReg) &'次' & @CRLF
Next

MsgBox(0, '统计结果', $Text)

评分

参与人数 1金钱 +30 收起 理由
afan + 30

查看全部评分

 楼主| 发表于 2010-3-14 11:02:39 | 显示全部楼层
回复 5# 水木子


谢谢关注
不是这个意思
看看这回说明白了没有
发表于 2010-3-14 12:07:24 | 显示全部楼层
根据_ArrayUnique修改的
#include <Array.au3>
#include <file.au3>
Local $aArray
_FileReadToArray(@ScriptDir & "\shuzhi.txt",$aArray)
$aNewArray = _ArrayUnique_test($aArray)
_ArrayDisplay($aNewArray)

Func _ArrayUnique_test($aArray)
        Local $vDelim = Chr(01), $sHold, $_NewArray[1][2]
        For $iCC = 1 To UBound($aArray) - 1
                If Not StringInStr($vDelim & $sHold, $vDelim & $aArray[$iCC] & $vDelim) Then
                        $sHold &= $aArray[$iCC] & $vDelim
                        $_NewArray[UBound($_NewArray) - 1][0] = $aArray[$iCC]
                        $_NewArray[UBound($_NewArray) - 1][1] = 1
                        ReDim $_NewArray[UBound($_NewArray) + 1][2]
                Else
                        $_item = _ArraySearch($_NewArray, $aArray[$iCC])
                        $_NewArray[$_item][1] += 1
                EndIf
        Next        
        ReDim $_NewArray[UBound($_NewArray) - 1][2]
        Return $_NewArray
EndFunc

评分

参与人数 1金钱 +30 收起 理由
afan + 30

查看全部评分

 楼主| 发表于 2010-3-14 12:34:11 | 显示全部楼层
回复 7# bing614


   以解决 就是 输出的 结果能不能 按次数大小 排列 一下 就 完美 了
发表于 2010-3-14 13:41:01 | 显示全部楼层
排序用 _ArraySort
发表于 2010-3-14 15:02:30 | 显示全部楼层
好久不见你啊.....
发表于 2010-3-14 17:05:47 | 显示全部楼层
回复 10# lxz
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 12:07 , Processed in 0.096352 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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