perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 30
Click for quality!




11.02.2012 / 19:35

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragMittelwert 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

Beitragre: 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

Beitragre: Mittelwert bilden
Seitenanfang
Hi Renee,
vielen Dank, konnte das so einbauen und scheint auch zu klappen.
MfG
Tim

Datum: 17.01.2005-14:40

Beitragre: 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

Beitragre: 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

Beitragre: 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

-






-
-