Perl :: Aufgabe #3 :: Lösung #2
5 Lösungen

#3
Schnittmenge von 2 Arrays
Anfänger - Perl
von Gustl
- 06.08.2012 um 22:46 Uhr
Schreiben Sie ein Skript, das Sie auffordert 2 Integer-Arrays einzugeben. Aus diesen 2 Arrays soll dann ein drittes Array erzeugt werden, das nur die Elemente enthält, die in beiden Arrays vorkommen. Also die Schnittlänge dieser beiden Arrays.
#2

von Jusy (440 Punkte)
- 23.04.2014 um 13:41 Uhr

use strict; print "Bitte 1.Array eingeben (Zahlen durch Komma getrennt)"; my $eingabe1 = <STDIN>; print "Bitte 2.Array eingeben (Zahlen durch Komma getrennt)"; my $eingabe2 = <STDIN>; $eingabe1 =~ s/\s//; $eingabe2 =~ s/\s//; my @array1 = split(",",$eingabe1); my @array2 = split(",",$eingabe2); my (@sarray, @larray,@result) =(); if (length(@array1) >= length(@array2)) { @sarray = @array1; @larray = @array2; } else { @sarray = @array2; @larray = @array1; } my $i = 0; foreach my $zahl (@sarray) { foreach(@larray) { if($_ == $zahl) { $result[$i] = $zahl; $i++; $_ = "X"; last; } } } my %seen; my @filtered = grep {!$seen{$_}++} @result; print "\Schnittmenge: "; foreach(@filtered) { print "$_, "; } print "\nHäufigkeit: "; my @final= (); my $i; foreach my $zahl(@filtered) { my $count = 0; foreach(@result) { if($_ == $zahl) { $count++; } } @final[$i] = $count."x ".$zahl."; "; $i++; } foreach(@final) { print "$_\t"; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1