Schrift
[thread]10557[/thread]

Halb Kartesisches Produkt bilden



<< >> 8 Einträge, 1 Seite
Gast Gast
 2007-10-10 21:17
#100641 #100641
Hallo zusammen :)

ich verzweifle an einem algorithmus

und zwar soll folgendes passieren:
@startstringarray=("abc","1,2,3","T","pu,pr");

daraus soll folgende ausgabe entstehen:
abc1Tpu
abc2Tpu
abc3Tpu
abc1Tpr
abc2Tpr
abc3Tpr

ich schaff es einfach nicht dies zu realisieren.

grüssle,
Herbert
renee
 2007-10-10 21:35
#100646 #100646
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;

my @array=("abc","1,2,3","T","pu,pr");
my ($dyn_one,$dyn_two) = @array[1,3];

for my $i ( split /,/, $dyn_one ){
    for my $end ( split /,/, $dyn_two ){
        print sprintf "%s%s%s%s\n", $array[0],$i,$array[2],$end;
    }
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2007-10-10 21:53
#100647 #100647
wahhh ich werd wahnsinnig und ich häng da den ganzen tag dran rum :)

vielen vielen dank.

werd es sofort mal testen
renee
 2007-10-10 21:54
#100648 #100648
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hier ein wenig dynamischer... Davon ausgehend, dass alles ohne "," direkt übernommen werden soll und alles mit "," soll aufgeteilt werden...

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

use strict;
use warnings;

my @array=("abc","1,2,3","T","pu,pr");
my @strings = (shift @array);

for my $i ( @array ){
    if( index($i, ',') != -1 ){
        @strings = map{my $j = $_; map{ $_ . $j }@strings}split /,/, $i;
    }
    else{
        $_ .= $i for @strings;
    }
}

print $_,"\n" for @strings;


So könnte man es beliebig erweitern... Also z.B.

my @array=("abc","1,2,3","T","pu,pr",'ein weiterer fester String','dynamischer,Inhalt');
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2007-10-10 22:17
#100649 #100649
klasse funktioniert einwandfrei.
jetzt muss ich erstmal schauen wie du das gemacht hast =)
lichtkind
 2007-10-11 03:09
#100650 #100650
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
gibts aber auch schon fertige module dazu
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2007-10-11 10:08
#100652 #100652
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
lichtkind+2007-10-11 01:09:10--
gibts aber auch schon fertige module dazu


Welche? Die Module, die ich kenne, erstellen aus *allen* Elementen die Kombinationen. Hier ist es aber so, dass nur ein Teil der Elemente mit "feststehenden" Elementen kombiniert werden. Aber wäre cool wenn Du so ein Modul kennst!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2007-10-12 10:51
#100732 #100732
genau das war der trick an der sache.
sonst würde er ja abc wieder mit sich selber nehmen
und das sollte nicht sein. also kein
abcabc ;)

mfg
<< >> 8 Einträge, 1 Seite



View all threads created 2007-10-10 21:17.