2011-04-03 24 views
11

多次元配列の長さを設定する方法/パスカルで動的多次元配列を作成する方法を知りたいです。 1次元配列の場合はSetLength(arr,len)のようになります。私は答えを見つけることができません。これを行うの多次元配列のSetLength

+1

パスカルは多次元動的配列をサポートせず、動的配列の動的配列のみをサポートしていると主張できます。 – CodesInChaos

+2

ダイナミックアレイのダイナミックアレイだけでなく、ダイナミックアレイのダイナミックアレイのダイナミックアレイ、ダイナミックアレイのダイナミックアレイのダイナミックアレイ、さらには...まあ、率直に言って「多次元動的配列」ははるかに短く見える。 :) –

答えて

17
var 
    arr: array of array of real; 

... 

SetLength(arr, 10, 20); // creates a 10 by 20 matrix 

悪い、同等の、方法は

SetLength(arr, 10); 
for i := low(arr) to high(arr) do 
    SetLength(arr[i], 20); 

を行うことである後者のアプローチは、しかし、「非矩形」アレイができます。

+0

Free Pascal/Lazarusの下で正しく動作します! – matandked