看板 Perl 關於我們 聯絡資訊
※ 引述《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)
markpci:這不是作業呀~是寫程式上遇到的問題 02/01 09:13