1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#!/usr/bin/perl -w use 5.010; use strict; print "\n"; my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my $paar; for ( 0..$#frau ) { for my $k ( 0..$#mann ) { if ( $frau[$_] eq $mann[$k] ) { $paar++; splice ( @mann, $k, 1 ); last } } } print "Paare: $paar\n";
1 2 3 4 5 6 7 8 9 10 11
use strict; my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my $paar; my %fr = map { $_, 1 } @frau; my %ma = map { $_, 1 } @mann; for (keys %ma) { $paar++ if exists $fr{$_}; } print "Paare: $paar\n";
1 2 3 4 5 6
my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my %h = (); # der kleine Helfer ;) @h{@frau} = @mann; # slice my $anz = grep{ $h{$_} eq $_ }keys %h; print $anz;
1 2 3 4 5 6 7 8 9
$, = "\n"; $\ = "\n"; my @frau = qw /bl ge gr br sw rt Tina Pia Frauke/; my @mann = qw /ge bl bl br sw rt/; my @keinMann = (); local $SIG{__WARN__} = sub{push @keinMann, $_}; my %h = (); @h{@frau} = @mann; my $anz = grep{ $h{$_} eq $_ }keys %h; print "Paare: $anz", "Kein Mann bekommen haben:", @keinMann;
1 2 3 4 5 6 7 8
my @frau = qw /bl ge gr br sw rt foo bar/; my @mann = qw /ge bl bl br sw rt foox/; my $w = 0; # Anzahl der Frauen, die zuviel sind local $SIG{__WARN__} = sub{$w++}; my %h = (); @h{@frau} = @mann; my $anz = grep{ $h{$_} eq $_ }keys %h; print "Paare: $anz", "Frauen-Überzahl: $w";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl use strict; use warnings; my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my %people; my @paare; $people{$_}->{f}++ for(@frau); $people{$_}->{m}++ for(@mann); while(my($k,$v)=each(%people)) { push(@paare,$k) if($v->{m} && $v->{f}); } print "Paare:".join(',',@paare)."\n";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use strict; print "\n"; my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my %fr = map { $_, 1 } @frau; my %ma = map { $_, 1 } @mann; for (keys %ma) { $paar++ if exists $fr{$_}; } print "FIFO Paare: $paar\n"; my %h = (); # der kleine Helfer ;) @h{@frau} = @mann; # slice my $anz = grep{ $h{$_} eq $_ }keys %h; print "rosti Paare $anz\n"; my %people; my @paare; $people{$_}->{f}++ for(@frau); $people{$_}->{m}++ for(@mann); while(my($k,$v)=each(%people)) { push(@paare,$k) if($v->{m} && $v->{f}); } print "topeg Paare:".join(',',@paare)." = ". @paare. "\n";
QuoteFIFO Paare: 5
rosti Paare 3
topeg Paare:br,rt,sw,ge,bl = 5
2012-01-28T13:44:48 hugenynhabe aber nicht herausgefunden, warum rosti 3 Paare hat.
1 2 3 4
my %frau = map { $_ => 1 } @frau; for my $key (@mann) { say "Paar $key" if $frau{ $key }++ == 1; }
Quotewobei mir auch eine klare aufgabenstellung deinerseits fehlt
1 2 3 4 5 6 7 8 9 10
my %frau; $frau{ $_ }++ for @frau; my $paare; for my $key (@mann) { if ($frau{ $key }-- > 0) { $paare++; say "Paar $key"; } } say "Paare: $paare";
Quoteeine aufgabenstellung erklärt eindeutig, was passieren soll