Schrift
[thread]5628[/thread]

Top der der Länder der User (Seite 2)

Leser: 2


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
SirLant
 2003-08-18 03:27
#59580 #59580
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Habs ein wenig standardiesiert und optimiert.Entweder du benutzt immer $_ oder ne Elementvariable, sonst verwirrt das nur.
Und du brauchst die Daten nicht zwischenzuspeichern, ist nur unnötige verschwendeter speicher.

my %hash = ();
my @sortiert = ();
my @laender = ();

foreach (@userdaten)
{
my ($ort, $land) = split(/\|\|\|/, $_);
$hash{$land}++;
}

@sortiert = sort { $hash{$b} <=> $hash{$a} } keys %hash;

foreach(@sortiert)
{
push(@laender, "$_|||$hash{$_}\n");
}

for(0..9)
{
print "$laender[$_]<br>\n";
}

Edit:
Wie kann ich das direkt ausgeben:
@sortiert = sort { $hash{$b} <=> $hash{$a} } keys %hash;
hatte das mal gelöst, wie oben bereits erwähnt komm aber nicht mehr drauf :(\n\n

<!--EDIT|SirLant|1061162932-->
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
stb2050
 2003-08-18 03:55
#59581 #59581
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Danke :-) Sieht gut aus und funktioniert.
jan
 2003-08-18 11:03
#59582 #59582
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=SirLant,18.08.2003, 01:27]Edit:
Wie kann ich das direkt ausgeben:
@sortiert = sort { $hash{$b} <=> $hash{$a} } keys %hash;
hatte das mal gelöst, wie oben bereits erwähnt komm aber nicht mehr drauf :([/quote]
Code (perl): (dl )
print join("\n", sort { &#36hash{&#36b} <=> &#36hash{&#36a} } keys %hash);

allerdings lohnt sich das zwischenspeichern der sortierten liste nur, wenn du sie mehrmals ausgeben willst, ansonsten würde ich den kurzen code von dubu ebenfalls anwenden.
Crian
 2003-08-18 11:55
#59583 #59583
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Weiteres zum Sortieren und Ausgeben siehe auch auf meiner Perlseite.\n\n

<!--EDIT|Crian|1061193343-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-08-18 15:45
#59584 #59584
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Danke, hatte es so ähnlich wie Dubu gelöst :)
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2003-08-17 19:37.