|
|
|
| スポンサーリンク | ||
|
|
|
||||
|
これは、実際には、より複雑なパスカルプログラム私です 午前に変換する Perlの。指定されたコードですが小さい より大きなプログラムの例です。 パスカルは、プログラムのコードではこのようになります: コード:
CONST DIM = 4; TYPE Vector = ARRAY [1..DIM] of REAL; weights: ARRAY[1..DIM] of Vector; PROCEDURE Initialize; VAR I: INTEGER; BEGIN FOR I := 1 TO DIM DO weights[1][I] := I; END PROCEDURE Shift_elements_right (Input : Vector; VAR Output: Vector); VAR I: INTEGER; BEGIN FOR I := 1 TO DIM DO Output[I+1] := Input[I]; Ouptut[1] := Input[DIM]; END BEGIN FOR I := 1 TO DIM DO Shift_elements_right(weights[I], weights[I+1]); END; それには、 4 × 4次元配列を作成することになっているだけ ベクトルの最初の行に初期化している。 私の質問に再現することです Perlの。私はしたいと思います リファレンスとして配列を渡すと、 4 × 4の値を サブルーチンを通じて次元の配列です。 Odviously私はこれを行うことができますが、サブルーチンでは、と この大規模プログラムpracticleされていません。 |
|
||||
|
次元配列は、次のようにもできる: 2つの初期化するには コード:
@array1 = ('0', '0', '0', '0');
@array2 = ('0', '0', '0', '0');
@array3 = ('0', '0', '0', '0');
@array4 = ('0', '0', '0', '0');
@bigArray = (\@array1, \@array2, \@array3, \@array4);または、これ(私はうまくいくでしょうしてください)を簡素化する: コード:
@bigArray = ( ['0', '0', '0', '0'],
['0', '0', '0', '0'],
['0', '0', '0', '0'],
['0', '0', '0', '0']
);特定の値を参照し、使用することができます: コード:
$bigArray[0][0]; # first row, first column $bigArray[2][1]; # third row, second column の値を、使用して格納するには: コード:
$bigArray[2][1] = '5' または、サブルーチン: コード:
for ($i = 0; $i < DIM; $i++){
for ($j = 0; $j < DIM; $j++){
bigArray[$i][$j] = $j; #assuming $j is the value you want to store...
}
}私は作品を知っているものはありませんね... |
|
||||
|
次のコードを自分の問題を解決するようだ。 コード:
#!/usr/bin/perl -w
use constant DIM => 4;
sub Shift_elements_right{
my ($ref) = shift;
for($j = 1 ; $j <= DIM ; $j++){
for ($i = 1 ; $i <= DIM ; $i++ ){
$ref->[$j + 1][$i + 1] = $ref->[$j][$i];
}
$ref->[$j + 1][1] = $ref->[$j][DIM];
}
}
# Initialize
for ($i = 1; $i <= DIM; $i++){
$weights[1][$i] = $i;
}
# Shift call
Shift_elements_right(\@weights);
# Print output.
for ($i = 1; $i <= DIM; $i++){
for ($j = 1; $j <= DIM; $j++){
print "Weight $i : $weights[$i][$j]\t";
}
print "\n";
} |
![]() |
| ブックマーク |
| タグ |
| perlの、 perlのシフト、 シフト、 perlのシフト |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| perlのファイルでは@配列に値を書き込むにはperl | meghana | シェルプログラミングとスクリプティング | 27 | 2009年6月7日 06:05午後 |
| Perlの:修飾子を参照の取得に戻る | cooldude | シェルプログラミングとスクリプティング | 8 | 2008年3月19日 09:49午前 |
| どのように配列の最後の値を取得することはperl | meghana | シェルプログラミングとスクリプティング | 7 | 2008年2月4日 05:12午後 |
| perlの配列に分割で | jaganadh | シェルプログラミングとスクリプティング | 3 | 2007年7月6日 06:29午前 |
| レコード( 2次元配列にしています。 ) | murtaza | シェルプログラミングとスクリプティング | 1 | 2007年3月13日 08:10午後 |