|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Mittelwert bilden
|
Seitenanfang |
Hallo, ich habe ein kleines Problem. Ich muss aus einem Array (normalerweise 30 Elemente) den Mittelwert bilden. Daneben kann es vorkommen, dass der Array nicht 30 Elemente enthält, sondern unter Umständen auch nur eine oder zwei. Solche sollen gefiltert werden. Bisher läuft es so, dass das Skript nach dem dritten Element sucht und nur die Arrays ausgibt, wo dieses Element größer als 20 ist. Ist aber so nicht korrekt, und verfälscht leider auch die Ergebnisse, daher brauche ich unbedingt den Mittelwert. Kann mir da jemand helfen?Schicke hier noch das bisherige Skript mit. #!/usr/bin/perl -w use strict; my ($t, $z, @rr, $tail,$mrrline); while (<>) { chomp; ($t, $z, $tail) = split /\s/,$_,3 ; if ($z eq "UTC"){ $mrrline = join '', $t," ",$z,"\n"; } if ($t eq "rr") { @rr = split /\s/,$tail ; if ($rr[2] >= 20.0) { print $mrrline ; print ($t," ",$tail,"\n"); } } } Vielen Dan schon mal im Voraus. Tim
Datum: 17.01.2005-14:08

|
re: Mittelwert bilden
|
Seitenanfang |
#! /usr/bin/perl# berechne den Mittelwert eines Arrays use strict; use warnings; my @array = qw(1 2 3 4 5 6 7 8 9 10); my $sum = 0; $sum += $_ for(@array); my $avg = $sum / scalar(@array); print $avg,"\n";
Datum: 17.01.2005-14:30

|
re: Mittelwert bilden
|
Seitenanfang |
Hi Renee, vielen Dank, konnte das so einbauen und scheint auch zu klappen. MfG Tim
Datum: 17.01.2005-14:40

|
re: Mittelwert bilden
|
Seitenanfang |
Moin, war da wohl etwas zu vorschnell. Also im allgemeinen Fall klappt das schon, aber sobald der Array nur aus einem Element besteht, gibt´s Probleme. Gibt´s dafür noch ´ne Lösung? MfG Tim
Datum: 17.01.2005-14:54

|
re: Mittelwert bilden
|
Seitenanfang |
Also bei mir klappt das auch mit Ein-Elementigen-Arrays:#! /usr/bin/perl# berechne den Mittelwert eines Arrays use strict; use warnings; my @array = qw(10); if(scalar(@array) > 0){ my $sum = 0; $sum += $_ for(@array); my $avg = $sum / scalar(@array); print $avg,"\n"; }
Datum: 17.01.2005-14:59

|
re: Mittelwert bilden
|
Seitenanfang |
Mit dem Zusatz scheint´s zu klappen. Noch mal vielen Dank für die schnelle Hilfe. MfG Tim
Datum: 17.01.2005-15:05

|
|

|

|

|
 |

|

|
|