Thanks for your help.

On Nov 28, 2007 3:51 PM, Andrew Curry <[EMAIL PROTECTED]> wrote:

> Or a better one for none numeric's would be : I think.....
>
> use strict;
> my ( @list, @comb );
>
> @list = ( 'A', 'B', 'C', 'D' );
>
> combinations( [EMAIL PROTECTED], [EMAIL PROTECTED] );
>
> print join ( "\n", @comb );
>
> sub combinations {
>    my ( $list, $comb ) = @_;
>    my ( $key, $i, $x, $line, @comb, $n );
>    $n = 1;
>    foreach my $key ( @{$list} ) {
>        $line = $key;
>        push ( @{$comb}, $line );
>
>        for ( my $i = $n ; $i <= $#list ; $i++ ) {
>            $line .= $list->[$i];
>            push ( @{$comb}, $line );
>        }
>        $n++;
>    }
> }
>
> If this indeed what your asking.
>
> A
> AB
> ABC
> ABCD
> B
> BC
> BCD
> C
> CD
> D
>
> -----Original Message-----
> From: Andrew Curry [mailto:[EMAIL PROTECTED]
> Sent: 28 November 2007 15:43
> To: Dan Klose; beginners@perl.org
> Subject: RE: fixed list combinatorics
>
> Not sure this exactly what you want but
>
> use strict;
> my ( @list, @comb );
>
> @list = ( 1, 2, 3, 4 );
>
> combinations( [EMAIL PROTECTED], [EMAIL PROTECTED] );
>
> print join ( "\n", @comb );
>
> sub combinations {
>        my ( $list, $comb ) = @_;
>        my ( $key, $i, $x, $line, @comb );
>
>        foreach my $key ( @{$list} ) {
>                $line = $key;
>                push ( @{$comb}, $line );
>
>                for ( my $i = $key ; $i <= $#list ; $i++ ) {
>                        $line .= $list->[$i];
>                        push ( @{$comb}, $line );
>                }
>        }
> }
>
> Runs and returns....
>
> 1
> 12
> 123
> 1234
> 2
> 23
> 234
> 3
> 34
> 4
>
> -----Original Message-----
> From: Dan Klose [mailto:[EMAIL PROTECTED]
> Sent: 28 November 2007 14:32
> To: beginners@perl.org
> Subject: fixed list combinatorics
>
> Hi list,
>
> I am having a bad day and would really like some help (the coffee hasn't).
>
> I have a list that looks like:
> my @list = (1,2,3,4);
>
> I would like to generate all patterns that follow:
> 1
>  2
>  3
>  4
> 12
> 123
>  23
>  34
>  234
> 1234
>
>
> The list can be of any length and the next number in the list must be the
> current number +1 ( i am not working with numbers - i think it is easier
> to
> explain this way).
>
> How do I do this?  I did look at the Combinatorics module however it does
> not impose fixed ordering as far as I can see.
>
> Thanks
>
>
> This e-mail is from the PA Group.  For more information, see
> www.thepagroup.com.
>
> This e-mail may contain confidential information.  Only the addressee is
> permitted to read, copy, distribute or otherwise use this email or any
> attachments.  If you have received it in error, please contact the sender
> immediately.  Any opinion expressed in this e-mail is personal to the
> sender
> and may not reflect the opinion of the PA Group.
>
> Any e-mail reply to this address may be subject to interception or
> monitoring for operational reasons or for lawful business practices.
>
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
>
>
>
> This e-mail is from the PA Group.  For more information, see
> www.thepagroup.com.
>
> This e-mail may contain confidential information.  Only the addressee is
> permitted to read, copy, distribute or otherwise use this email or any
> attachments.  If you have received it in error, please contact the sender
> immediately.  Any opinion expressed in this e-mail is personal to the
> sender
> and may not reflect the opinion of the PA Group.
>
> Any e-mail reply to this address may be subject to interception or
> monitoring for operational reasons or for lawful business practices.
>
>
>
>
>

Reply via email to