--- loncom/homework/default_homework.lcpm 2000/10/12 20:36:05 1.4 +++ loncom/homework/default_homework.lcpm 2000/10/13 14:58:49 1.6 @@ -66,3 +66,32 @@ sub format { my ($value,$fmt)=@_; $SCRIPT_RESULT.=sprintf('%.'.$fmt,$value); } + +sub map { + my $num = $#_/2; + my $i; + my @used; + my @permutation; + for ($i=0; $i < $num;) { + $rand = &random(1,$num,1); + if ( $used[$rand] == '0' ) { + $i++; + $used[$rand]='1'; + $permutation[$i]=$rand; + } + } + for ( $i=1 ; $i<$num+1 ; $i++ ) { + ${$_[$permutation[$i]]}=$_[$i+$num] + } +} + +sub choose { + my $num = $_[0]; + return $_[$num]; +} +#$external::randomseed=time; +#$a=2; +#$b=2; +#$c=2; +#&map(1,\$a,\$b,\$c,3,4,5); +#print $a."\n".$b."\n";