From: "Richard Lee" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <beginners@perl.org>
Sent: Sunday, May 04, 2008 3:17 AM
Subject: Re: how to simplify this script
I don't have the solution yet but shouldn't the answer be
1 6 7
and
4 5 10 only ?
it's printing out 1 2 3 as well which is wrong?
Thanks Richard.
The output should include '1 2 3'.
Therefore I want the output to be
1 2 3
1 6 7
4 5 10
It should include '1 2 3' because '1 2 3', '1 2 4', '1 2 7', '1 2 8', '1 2
9' = '1 2'(the common number from the list) + anynumber.
Thanks
[EMAIL PROTECTED] wrote:
Hi,
In the script below, I have an array @datas with its elements consisting
of numbers like this :-
my @datas = (
'1 2 3', '1 2 4', '1 2 7', '1 2 8', '1 2 9', '1 6 7',
'1 7 12', '2 6 7', '4 5 10', '4 5 15'
);
Out of the above list, I wish to generate a seperate array so that among
their elements, there should not be any 2 numbers that can match and so
the output should be :- 1 2 3
1 6 7
4 5 10
I therefore have written the script below and have tested the script to
be working. What is the easier way to write this script?
Thanks
##### start of script ##############
use strict;
use warnings;
my @datas = (
'1 2 3', '1 2 4', '1 2 7', '1 2 8', '1 2 9', '1 6 7',
'1 7 12', '2 6 7', '4 5 10', '4 5 15'
);
my $numbers_wanted = 2;
my @datawanted = ();
my $marker = scalar @datas;
my $splice_counter = 0;
my @datas_iterator = ();
while ($marker) {
$splice_counter = 0;
push @datawanted, splice @datas, 0, 1;
my @comparator1 = split / /, $datawanted[-1];
my $temp_datas_iterator = scalar @datas - 1;
foreach ( 0 .. $temp_datas_iterator ) {
my $counter = 0;
my @comparator2 = split / /, $datas[ $_ - $splice_counter ];
foreach (@comparator2) {
my $a = $_;
foreach (@comparator1) {
if ( $a == $_ ) {
$counter++;
}
}
}
if ( $counter >= $numbers_wanted ) {
splice @datas, $_ - $splice_counter, 1;
$splice_counter++;
}
}
$marker = scalar @datas;
}
foreach (@datawanted) {
print "$_\n";
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/