#!/usr/bin/perl
#Title: final_problem4.pl

package final_problem4;

# final_problem4a.pl -w
use strict;  

my $ar= [ 3.4, 2.0, -0.5, 17, -0.51, 0.3542 ];

my ($min,$i)=ArrayMin( $ar );
print "\$min=$min\t\$i=$i\n";

my ($max,$i)=ArrayMax( $ar );
print "\$max=$max\t\$i=$i\n";

# problem 4a
sub ArrayMin{
  my $ar_unsorted = shift;
  #get the min
  my @ArrayMinFellers = sort { $a <=> $b } @$ar_unsorted ;
  my $min = $ArrayMinFellers[0];
  my $k="";
  #determin which element of the original array has it
  for ( $a=0; $a <= $#$ar_unsorted; $a++ ){     
     if ( $ar_unsorted->[$a] =~ m/^$min$/ ){ 
        $k=$a;
	last;
     }
  }
  return ($min,$k); 
} 

# problem 4b
sub ArrayMax{
  my $ar_unsorted = shift;
  #get the min
  my @ArrayMaxFellers = sort { $a <=> $b } @$ar_unsorted ;
  my $max = $ArrayMaxFellers[-1];
  my $j="";
  #determin which element of the original array has it
  for ( $a=0; $a <= $#$ar_unsorted; $a++ ){
     if ( $ar_unsorted->[$a] =~ m/^$max$/ ){ 
        $j=$a;
	last;
     }
  }
  return ($max,$j); 
}  

return 1;
