Thread HoH sortiert ausgeben (5 answers)
Opened by roli at 2018-06-14 13:21

roli
 2018-06-14 13:48
#188527 #188527
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Ich habe jetzt folgende Lösung, die ich allerdings nicht wirklich "elegant" finde:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
my %ent;
my %seen;
foreach my $ort_von (sort keys %entfernung) {
    foreach my $ort_nach (sort keys %entfernung) {
        next if($ort_von eq $ort_nach); #Entfernung zu sich selbst zu errechnen ist sinnlos
        next if($seen{"$ort_von$ort_nach"}); #diese Entfernung wurde bereits berechnet

        $seen{"$ort_von$ort_nach"}=1; #Entfernung A->B
        $seen{"$ort_nach$ort_von"}=1; #Entfernung B->A

        $ent{$entfernung{$ort_von}{$ort_nach}}={"von"=>$ort_von, "nach"=>$ort_nach};
    }
}

foreach my $distance (sort { $a <=> $b } keys %ent) {
    say "Entfernung von: " .$ent{$distance}{"von"}."  -  nach: ".$ent{$distance}{"nach"}."  -  " . $distance;
}


Da gibt es doch sicher "schönere" Lösungen, oder?

Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2

View full thread HoH sortiert ausgeben