Tôi muốn biết cách thiết lập độ dài mảng đa chiều/tạo mảng đa chiều động trong Pascal. Giống như SetLength(arr,len)
không cho mảng một chiều. Tôi không thể tìm thấy câu trả lời.SetLength trên mảng đa chiều
11
A
Trả lời
17
var
arr: array of array of real;
...
SetLength(arr, 10, 20); // creates a 10 by 20 matrix
Một xấu, nhưng tương đương, cách để làm điều này là để làm
SetLength(arr, 10);
for i := low(arr) to high(arr) do
SetLength(arr[i], 20);
Cách tiếp cận thứ hai cho phép "không phải hình chữ nhật" mảng, tuy nhiên.
+0
Hoạt động đúng theo Pascal/Lazarus miễn phí! – matandked
Người ta có thể cho rằng pascal không hỗ trợ mảng động đa chiều, nhưng chỉ mảng động của mảng động. – CodesInChaos
Không chỉ * mảng * mảng động của mảng động mà còn là mảng động của mảng động của mảng động, cũng như mảng động của mảng động của mảng động của mảng động, và cũng ... er ... tốt, thẳng thắn , 'mảng động đa chiều' có vẻ ngắn hơn nhiều. :) –