Leser: 1
![]() |
|< 1 2 3 >| | ![]() |
22 Einträge, 3 Seiten |
Gast+2008-08-21 21:56:13--while(<FILEHANDLE>){
($a111,$a112,...) = split(/:/);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14
use Data::Dumper; my @fields = split /;/, $s; my @array; my $i = 0; for my $x (0..2) { for my $y (0..2) { for my $z (0..2) { $array[$x]->[$y]->[$z] = $fields[$i]; $i++; } } } print Dumper \@array;
QuoteUnd ich denke, es sollte in PERL einen Weg geben, eine große Anzahl von Variablen automatisch zu generieren.
Gast+2008-08-21 21:56:13--
1:2:4:5:5:9... usf.
Nachdem ich rausgefunden habe, dass folgendes funktioniert:
Code (perl): (dl )1 2 3 4while(<FILEHANDLE>){ ($a111,$a112,...) = split(/:/); } @coord = (a111, a112, a113....)
$coord[$feld][$zeile][$spalte]
@coord[0..8][0..2][0..2]=split(/:/);
1 2 3 4 5 6 7 8
my $idx=0; for my $feld (0..8) { for my $spalte (0..2) { for my $zeile (0..2) { $coord[$feld][$zeile][$spalte]=$liste[$idx++]; } } }
print $liste[ $idx[$feld][$zeile][$spalte] ];
Gast+2008-08-21 21:56:13--[...] Das Problem ist grundsätzlich folgendes. Eigentlich ganz einfach: Ein Sudokufeld. [...]
LanX-+2008-08-21 23:26:23--
ja aber du kannst gleich schreiben:
LanX-+2008-08-21 23:26:23--aber was soll die Schleife, wieviele Sodukostellungen liest du ein?
LanX-+2008-08-21 23:26:23--Was du aber eigentlich willst ist doch die Darstellung
Um die Gültigkeit der Stellungen als Summe bei einer fixen Koordinate zu bestimmen, oder?Code (perl): (dl )$coord[$feld][$zeile][$spalte]
$array[$x]->[$y]->[$z] = $fields[$i];
L_Twerp+2008-08-23 16:46:52--Genau. So wie du das begeschrieben hast, wäre das natürlich himmlisch. Ich habe mir überlegt, dass ich, wenn ich rausfinde, unter welchen Vertauschungen von Kästchenwerten die Summen invariant bleiben, die Menge aller Möglichen Sudokus rausfinde (oder zumindest eine große Teilmenge dieser Menge). Da wären Mehrdimensionale Arrayslices natürlich genial, da man die Permutationen damit denkbar einfach umsetzen könnte.
Quote1 2 <-> 2 1
4 3 <-> 3 4
L_Twerp+2008-08-23 16:46:52--Code (perl): (dl )$array[$x]->[$y]->[$z] = $fields[$i];
Und was genau machen die kleinen Pfeile?
$array[$x][$y][$z] = $fields[$i];
L_Twerp+2008-08-23 16:46:52--PS: Gibt es WIRKLICH keine Möglichkeit, die mehrdimensionalen Arrayslices wie Vorgeschlagen umzusetzen?
murphy+2008-08-22 17:03:39--Anmerkung am Rande: Als Anregung zur Arbeit mit Sudokupuzzeln lohnt sich vielleicht auch ein Blick ins Wiki auf Rätsel der Woche Sudokulösungsprogramm
LanX-+2008-08-23 18:36:07--2 Fragen:
1. Sollten Sudokos nicht immer eindeutig lösbar sein?
moritz+2008-08-23 18:58:01--Knuth! Du vermengelst da was mit dem ebenso genialen Erfinder Knox! ; )Dancing Links von Knoth implementieren ;-)
![]() |
|< 1 2 3 >| | ![]() |
22 Einträge, 3 Seiten |