作者plankton (懒惰毛)
看板Perl
标题Re: [问题] perl 排序
时间Thu Jan 31 17:42:47 2008
※ 引述《onizi1224 (Onizi)》之铭言:
: ※ 引述《markpci (markpci)》之铭言:
: : 我现在有个文字档,文字档格式为:
: : aaa 0.154
: : bbb 0.235
: : ccc 0.485
: : ddd 0.365
: : 我想将上述资料档做排序,然後取最大值出来跟每一列相除,
: : 结果为:
: : aaa 0.485 1 (0.485/0.485)
: : bbb 0.365 0.8(0.365/0.485)
: : ccc 0.235 0.5(0.235/0.485)
: : ddd 0.154 0.3(0.154/0.485)
: : 请问要如何做呢???
: 可以先做hash 例如 $key = aaa
: $hash{$key} = '0.154'
: 丢入hash後 用foreach 将hash 的ker 用sort排序以後列印出来
想法跟onizi1224大一样
读入档之後,存成hash的格式,
$hash{aaa}=0.485
1.找出最大值
@a= sort{$b<=>$a} values %hash;
2. print 出来
printf "key:$_ value:$hash{$_} ratio:",$hash{$_}/$a[0],"\n"
foreach(keys %hash);
--
这是作业吗...已经有三篇文章 都问类似的问题了 @_@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.77.13
※ 编辑: plankton 来自: 140.129.77.13 (01/31 17:44)
1F:→ markpci:这不是作业呀~是写程式上遇到的问题 02/01 09:13