免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: admirer
打印 上一主题 下一主题

将文件的 行 变成 列 的代码  关闭 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-01-31 20:18 |只看该作者
算法是基本能力,语言只是个工具。

论坛徽章:
0
22 [报告]
发表于 2007-01-31 21:46 |只看该作者
$file = $ARGV[0] or die;
@rot = ();
($x, $y) = (0, 0);
open ROT, "<$file";
while($c = getc(ROT)){
        if($c ne "\n"){
                $tmp = scalar(@{"tmp$y"})-$x;
                if($tmp>0){ while($tmp){unshift(@{"tmp$y"}, ' '); $tmp--;} }
                unshift(@{"tmp$y"}, $c);
                push(@rot, \@{"tmp$y"}) if (scalar(@rot) <= $y);
                $y++;
        }else{ while($y <= scalar(@rot) ){ unshift(@{"tmp$y"}, ' '); $y++; } $x++; $y = 0; }
}
while($y <= scalar(@rot) ){ unshift(@{"tmp$y"}, ' '); $y++; }
while($line = shift(@rot)){ while($c = shift(@$line)){print $c;} print "\n"; }
#用perl随便写了一个,发现长好多,偶功力太差了

[ 本帖最后由 isaachs 于 2007-2-1 09:20 编辑 ]

论坛徽章:
0
23 [报告]
发表于 2007-01-31 22:59 |只看该作者
真好,顶。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP