zahlen aus einem array auslesen
Maxx1988
- perl
Hi,
ich habe ein Mehrdimensionales array und in diesem Array wiederrum 6 zahlen (würfel) ich möchte jetzt innerhalb diesen Arrays die zahlen vergleichen und wissen wieviele davon gleich sind.
Wäre schön wenn mir wer helfen könnte bzw. wenns schon eine lösung gibt mir nen link auf die entsprechende seite gibt.
Danke
ich habe ein Mehrdimensionales array und in diesem Array wiederrum 6 zahlen (würfel)
Also zum Beispiel
$array[2][5] = [1,2,3,4,5,6];
ich möchte jetzt innerhalb diesen Arrays die zahlen vergleichen und wissen wieviele davon gleich sind.
Wäre schön wenn mir wer helfen könnte bzw. wenns schon eine lösung gibt mir nen link auf die entsprechende seite gibt.
Da du deine Datenstruktur nicht genauer beschreibst, sage ich nur die Suchstichworte:
perldoc LOL (a list of lists)
Mehrdimensionale Arrays sind nur geeignet für gleiche Datenelement.
Ansonsten solltest du besser Hashes verwenden.
mfg Beat
Also um genauer zu werden:
Das array ist in erster Instanz einem Würfel zugeordnet:
$array[0][0] = Würfel 1 = on/off
$array[1][0] = Würfel 2 = on/off
$array[2][0] = Würfel 3 = on/off
$array[3][0] = Würfel 4 = on/off
$array[4][0] = Würfel 5 = on/off
$array[5][0] = Würfel 6 = on/off
In zweiter Instanz dann seiner entsprechenden Zufallszahl 1-6.
Ich möchte also die Zahlen die z.b in
$array[0][1]
$array[1][1]
$array[2][1]
stehen miteinander vergleichen.
Hoffe das hilft besser zum helfen ;)
Das array ist in erster Instanz einem Würfel zugeordnet:
$array[0][0] = Würfel 1 = on/off
...
$array[5][0] = Würfel 6 = on/off
In zweiter Instanz dann seiner entsprechenden Zufallszahl 1-6.
Ich möchte also die Zahlen die z.b in
$array[0][1]
$array[1][1]
$array[2][1]
stehen miteinander vergleichen.
Der Inhalt erlaubt keinen Vergleich.
for (0 .. 5){
if( $array[$_][0] eq 'on'){
print $array[$_][1];
}
}
mfg Beat
Mist aber danke
Max
ich habe ein Mehrdimensionales array und in diesem Array wiederrum 6 zahlen (würfel) ich möchte jetzt innerhalb diesen Arrays die zahlen vergleichen und wissen wieviele davon gleich sind.
Ich weiß jetzt nicht, ob ich Dein Anliegen richtig verstehe, aber Autovivikation könnte ein Ansatz sein:
my @dices = ( [ 'on', 1 ],
[ 'off', 6 ],
[ 'on', 2 ],
[ 'on', 2 ],
[ 'on', 5 ]
);
my %values;
for(0..@#dices) {
$values{$dices[$_][1]}++ if($dices[$_][0] eq 'on');
}
for(1..6) {
if( exists $values{$_} )
print $_, ' encountered ', $values{$_}, ' time(s).';
}
else {
print $_, ' not encountered.';
}
}
Siechfred