Консультация № 61098
03.11.2006, 07:10
0.00 руб.
0 4 4
Здравствуйте,уважаемые эксепрты!
Помогите, пожалуйста, с созданием динамического двухмерного массива.
Проблема в том, что я не могу определить размер его "второго измерения".
В приложении кусок кода, который у меня уже есть, но он определяет только одно "измерение".
Заранее благодарен.

Приложение:
var mas : array of array of real;begin SetLength(mas,100);........end;

Обсуждение

Неизвестный
03.11.2006, 07:17
общий
это ответ
Здравствуйте, Delphi!

Делай так SetLength(mas, 100, 100);
Неизвестный
03.11.2006, 07:43
общий
это ответ
Здравствуйте, Delphi!
Чтобы задать всем столбцам одинаковый размер можна зделать так:

SetLength(mas,100);
for i:=1 to 100 do SetLength(mas[i], 100);

Для динамических массивов можно также задавать разные диапазоны одного измерения.

SetLength(mas,100);
for i:=1 to 100 do SetLength(mas[i], i);

В результате выполнения получится массив, в котором 100 строк, первый столбец имеет 1 елемент, второй 2 и т.д.
Неизвестный
03.11.2006, 14:47
общий
это ответ
Здравствуйте, Delphi!
после 100 через запятую указывай размер второго измерения.
В 6-м делфи работает. Пример в приложении.

Приложение:
program Project2;{$APPTYPE CONSOLE}uses SysUtils;var mas : array of array of real; i, j : integer; s:string ;begin SetLength(mas,10,20); for i:=0 to 9 do begin for J:=0 to 19 do begin mas[i,j]:= j+i; write(‘ ‘+floattostr(mas[i,j])); end; writeln(s); end;readln(s);end.
Неизвестный
05.11.2006, 13:48
общий
это ответ
var
mas : array of array of real;
i:integer;
begin
SetLength(mas,100);
for i:=0 to 100-1 do
SetLength(mas[i],100);
end;
Форма ответа