--- processmail/subroutines.pl 2005/02/15 19:27:51 1.4 +++ processmail/subroutines.pl 2005/02/16 22:20:08 1.5 @@ -1,7 +1,7 @@ # В этот файл собраны процедуры, общие для всей системы # работы с ответами. # -#$Id: subroutines.pl,v 1.4 2005/02/15 19:27:51 boris Exp $ +#$Id: subroutines.pl,v 1.5 2005/02/16 22:20:08 boris Exp $ # sub readhash { @@ -215,9 +215,9 @@ sub anondump # sub rate_questions { - my($teams,$answers,$ratings) = @_; + my($teams,$answers,$ratings,$round) = @_; my $numteams = scalar keys %$teams; - for ($i=1;$i<=$MAXQUEST;$i++) + for ($i=$MINQUEST[$round];$i<=$MAXQUEST[$round];$i++) { $$ratings[$i]=$numteams+1; foreach $answer (keys %{$$answers[$i]}) @@ -225,17 +225,15 @@ sub rate_questions if ($$answers[$i]->{$answer}{score} eq '+') { $$ratings[$i] -= - scalar keys %{$answers->[$i]->{$answer}->{teams}} ; + scalar keys %{$answers->[$i]->{$answer}->{teams}} ; + if ($DEBUG) { + print STDERR "Частота ответа $answer", + scalar keys %{$answers->[$i]->{$answer}->{teams}}, + "\n"; + } } } } - if ($DEBUG) - { - for ($i=1;$i<=$MAXQUEST;$i++) - { - print STDERR "Вопрос $i, Рейтинг: ", $$ratings[$i], "\n"; - } - } } # @@ -243,7 +241,7 @@ sub rate_questions # sub find_scores { - my ($teams,$answers,$ratings,$factor) = @_; + my ($teams,$answers,$ratings,$round,$factor) = @_; foreach $team (keys %$teams) { if (!defined($factor)) { @@ -251,7 +249,7 @@ sub find_scores } $$teams{$team}->{score} *=$factor; $$teams{$team}->{rating} = 0; - for ($i=1;$i<=$MAXQUEST;$i++) + for ($i=$MINQUEST[$round];$i<=$MAXQUEST[$round];$i++) { my $answer=$$teams{$team}->{answers}[$i]; if ($$answers[$i]->{$answer}{score} eq '+')