2011-04-03 22 views
11

Chciałbym wiedzieć, jak ustawić długość wielowymiarowych tablic/tworzenia dynamicznych wielowymiarowych tablic w Pascal. Podobnie jak SetLength(arr,len) dla jednowymiarowych tablic. Nie mogę znaleźć odpowiedzi.SetLength na tablicy wielowymiarowej

+1

Można argumentować, że pascal nie obsługuje wielowymiarowych tablic dynamicznych, ale tylko dynamiczne tablice dynamicznych tablic. – CodesInChaos

+2

Nie "* tylko * dynamiczne tablice dynamicznych tablic", ale także dynamiczne tablice dynamicznych tablic dynamicznych tablic, a także dynamiczne tablice dynamicznych tablic dynamicznych tablic dynamicznych tablic, a także ... er ... cóż, szczerze mówiąc "wielowymiarowe dynamiczne tablice" wydaje się znacznie krótsze. :) –

Odpowiedz

17
var 
    arr: array of array of real; 

... 

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

Zły, ale równoważne, to sposobem jest zrobić

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

drugie podejście pozwala „nie” prostokątne tablice, jednak.

+0

Działa poprawnie pod Free Pascal/Lazarus! – matandked

Powiązane problemy