perl 怎么计算数组中相同数字的个数

#求Mr_A中每一列1,2,3,4,的个数,我编了一个小程序,有错误,但是不知道哪里错

# N为 Mr_A的行数;
$count=0;
for (my $i=0; $i<=$N-1;$i++){
while ($Mr_A[$i][0]==1){
$count++;
}
}
print “$count\n”;
#以上程序是求数组Mr_A第一列中1的个数,不知道哪里错了 求大神、、
我的意思就是统计每一列的1,2,3,4 的个数,上面这个程序是统计第一列1的个数,但是打印不出来,不知道有没有办法解决啊



慕容森
浏览 1168回答 4
4回答

婷婷同学_

错在:while ($Mr_A[$i][0]==1){$count++;}因为 $Mr_A[$i][0] 如果是 = 1 的话, 那永远也是等於 1, 因为你在回路中没有改变过$Mr_A[$i][0] 的值, 所以就不可能跳出来了.你可以这麼做的foreach my $row ( 0.. $#Mr_A ) {my %item;foreach my $col ( @{$Mr_A{$row}} ) {++$item{$col}}print "In Row $row: $/";print "\tThere are $item{$_} of $_$/" foreach sort {$a<=>$b} keys %item;print $/;}
打开App,查看更多内容
随时随地看视频慕课网APP