Thread Gibt es für Zeile x einer Matrix andere Zeilen die ein Subset dieser Zeile sind?
(11 answers)
Opened by leo11 at 2010-10-19 15:06
Mit einem hash ist es viel schneller und übersichtlicher :-)
z.B so (ungetestet): Code (perl): (dl
)
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 #!/usr/bin/perl use strict; use warnings; my %index=(); my $pos=0; while(my $line=<DATA>) { chomp($line); (my $compare=$line)=~s/^.+?\s+//; # EDIT: # zeilen sollen identisch sein... #$compare=~s/\d+/1/g; $compare=~s/\s+//g; push(@{$index{$compare}},[$pos,$line]); $pos++; } # Ausgabe for my $lines (values(%index)) { print "Subsets:\n"; for my $line (@$lines) { print " Line: $line->[0] => $line->[1]\n"; } } __DATA__ row18 - 0 0 1 0 0 - - - 0 0 - - - - - - - - - - - - - - - - row19 - 0 0 0 - - - - 1 0 0 - - - - - - - - - - - - - - - - row20 - 0 0 - - - - 1 - 0 0 - - - - - - - - - - - - - - - - row21 - 0 0 - - - - - - 0 0 - - - - 1 0 0 - - - - - - - - - row22 - 0 0 - - - - - - 0 0 - - - - 0 - - - 1 - - - - - - - row23 - 0 0 - - - - - - 0 0 - - - - - - - - - 1 - - - - - - row24 - 0 0 - - - - - - 0 0 - - - - - - - - - - 1 0 0 - - - row25 - 0 0 - - - - - - 0 0 - - - - - - - - - - 0 - - - 1 - row26 - 0 0 - - - - - - 0 0 - - - - - - - - - - - - - - - 1 row27 - 0 0 - - - - - - 1 0 0 - - - - - - - - - - - - - - - row28 - 0 0 - - - - - - 0 - - - - 1 - - - - - - - - - - - - row29 - 0 0 - - - - - - - - - 1 - - - - - - - - - - - - - - row30 1 0 0 - 1 - - - - 0 0 - - - - - - 1 - - - - - - - - - row31 1 0 0 - 1 - - - - 0 0 - - - - - - - - - - - 1 - - - - row32 1 0 0 - 1 - - - - 0 0 - - - - - - 1 - - - - 1 - - - - row33 1 0 0 - - - 1 - - 0 0 - - - - - - - - - - - - - - - - row34 1 0 0 - - - - - - 0 0 - - - - - - - 1 - - - - - - - - row35 1 0 0 - - - - - - 0 0 - - - - - - - - - - - - - 1 - - row36 1 0 0 - - - - - - 0 0 - - - - - - 1 - - - - 1 - - - - row37 1 0 0 - 1 - - - - - 1 - - - - - - 1 - - - - - - - - - row38 1 0 0 - 1 - - - - - 1 - - - - - - - - - - - 1 - - - - row39 1 0 0 - 1 - - - - - 1 - - - - - - 1 - - - - 1 - - - - row40 1 0 0 - - - 1 - - - 1 - - - - - - - - - - - - - - - - row41 1 0 0 - - - - - - - 1 - - - - - - - 1 - - - - - - - - row42 1 0 0 - - - - - - - 1 - - - - - - - - - - - - - 1 - - row43 1 0 0 - - - - - - - 1 - - - - - - 1 - - - - 1 - - - - row44 1 0 0 - - - - - - - - 1 - 1 - - - - - - - - - - - - - row45 - 1 - - - - - - - 1 0 0 - - - - - - - - - - - - - - - row46 - 1 - - - - - - - 0 - - - - 1 - - - - - - - - - - - - row47 - 1 - - - - - - - - - - 1 - - - - - - - - - - - - - - row48 - - 1 - - - - - - 1 0 0 - - - - - - - - - - - - - - - row49 - - 1 - - - - - - 0 - - - - 1 - - - - - - - - - - - - row50 - - 1 - - - - - - - - - 1 - - - - - - - - - - - - - - row51 - 1 0 - - - - - - - - - 0 - - - - - - - - - - - - - - row52 - 0 1 - - - - - - - - - 0 - - - - - - - - - - - - - - row53 - 1 0 - - - - - - - - - - - 0 - - - - - - - - - - - - row54 - 0 1 - - - - - - - - - - - 0 - - - - - - - - - - - - row55 - 1 0 - - - - - - 0 0 - - - - - - - - - - - - - - - - row56 - 0 1 - - - - - - 0 0 - - - - - - - - - - - - - - - - EDIT: Entschuldige war zu schnell, habe nicht beachtet was du unter einem Subset verstehst. Last edited: 2010-10-19 15:35:13 +0200 (CEST) |