51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1581|回复: 3
打印 上一主题 下一主题

[讨论] 跪求高手帮个忙

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-17 15:03:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请各位大虾帮帮小弟啊!!!
小弟现需要这样一个小程系,请哪位好大虾帮写下!!!

我现在需要一个比对两个*.txt文件的程序
一个主文档A.txt(以下简称A)和一个副文档B.txt(以下简称B)
A和B中的每行为一个整数集合,具体格式如下:
01 05 10 20 23 33:12
05 06 20 23 26 30:11

A和B中都有这样的N个整数集合

我现在需要的是将B与A中的整数集合进行比对,去除A文档里与B文档里的相同的整数集合,并另存到别一个文档C中

具体效果如下:
A含以下集合
01 05 07 09 11 12:11
01 03 04 05 09 20:11
05 09 12 15 16 22:11
B含有以下集合
02 05 06 16 19 20:11
01 03 04 05 09 20:11
现将A与B进行比对
去除A与B的相数的集合:01 03 04 05 09 20:11
将余下的
01 05 07 09 11 12:11
05 09 12 15 16 22:11
保存到另一个文档C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-11-17 15:03:44 | 只看该作者
帮帮小弟啊!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-11-17 15:04:41 | 只看该作者
哪位好心大哥帮帮忙吧
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-11-19 15:43:08 | 只看该作者

用TCL脚本语言编了下,呵呵

set f1 [open C:/a.txt r]
set f2 [open C:/b.txt r]
set f3 [open C:/c.txt w]

#读取文件b中的数据,并存放入二维数组p中

#变量b_row记录文件b中的数据条数
set b_row 0
while {[eof $f2] != 1} {
#变量b_num记录读取的每条记录中元素的个数
        set b_num 0
        set strcon [gets $f2]
#用foreach命令将每条记录中的元素分解出来分别放入二维数组p中
        foreach b_data $strcon {
                set p($b_row,$b_num) $b_data
                incr b_num 1}
#数组b记录文件b中每行的元素个数
        set b($b_row) $b_num
        incr b_row 1
        }

#从a文件中读取每行的数据存放在变量strinp中
while {[eof $f1] != 1} {
        set strinp [gets $f1]

#检查数据是否相同的标志位。默认值为0,不相同
    set flag 0

#将strinp中的元素取出存放在数组a中

#变量k记录当前读取的数据中元素个数
        set k 0
        foreach a_data $strinp {
                set a($k) $a_data
                incr k 1}
#将读到的数据集与p中的元素比较,当所含元素个数一样,且第一个数据一致时,对剩余数据进行比较
        for {set m 0} {$m < $b_row} {incr m 1} {
                if {$k == $b($m) && $a(0) == $p($m,0)} {
                        for {set i 1} {$i < $b($m)} {incr i 1} {
                        if {$a($i) == $p($m,$i)} {
                                        set flag 1
                                        } else {
                        set flag 0
                         break}
                        }
                }
    }
        if {$flag == 0} {puts $f3 "$strinp"}
}

close $f1
close $f2
close $f3

[ 本帖最后由 123czq 于 2007-11-19 15:46 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 14:39 , Processed in 0.067830 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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