Dienstag, 27. April 2010

S69/3 - Unterfunktion fuer alle Zahlen ueber dem Durchschnitt

Es wird ein Programm gesucht, dass alle Zahlen einer Liste ausgibt, die über dem Durchschnitt dieser Liste liegen. Es wird also angeraten, erstmal eine Funktion anzulegen, die diesen Durchschnitt berechnet. Danach können die einzelnen items der Liste mit diesem Durchschnitt abgeglichen werden.


#!/usr/bin/perl -w
# Ausgeben der Zahlen, die ueber dem Durchschnitt liegen
# http://perl-lernen.blogspot.com/

my @fred = above_average(100, 1..10);
print "\nFolgende Zahlen liegen ueber dem Durchschnitt von \@fred: @fred\n";

sub above_average
{
# Durchschnitt mittels Unterfunktion "average" ermitteln:
my $average = average( @_ );
print "\nDurchschnitt: $average";
foreach $x ( @_ ) {
if ( $x > $average ) {
push @above, $x;
}
}
return @above;
}

sub average
{
my $summe = 0;

foreach $zahl ( @_ ) {
$summe += $zahl;
}
my $durchschnitt = $summe/@_;
return $durchschnitt;
}

Keine Kommentare:

Kommentar veröffentlichen