Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
ВнизПроблема с заполнением динамических массивов. Найти похожие ветки
← →
UDS (2003-02-25 21:28) [0]Как заполнить дин. массив типа - A:array of integer
Суть: Длина массива (n) должна задаваться пользователем через Edit.
После нажатия на кнопку Button, в Label выводится массив длиной n, из чисел по порядку (т.е. обыкновенным счетчиком FOR):
/////////отрывок программы
var
a:array of integer;
n,i:integer;
////////обработчик нажатия на кнопку Button1
begin
n:=strtoint(Edit1.text);
SetLength(A,n);
/////////Заполнение массива
for i:=1 to n do
begin
A[i]:=i;
/////////Заполняем Label1
label1.caption:=label1.caption+intotstr(A[i]);
end;
end.
Помогите разобраться в чем косяк вышеуказанного кода. Есть подозрение на конфликт с высвобождением памяти. Заранее благодарен.
← →
Романов Р.В. (2003-02-25 21:36) [1]for i:=0 to n-1 do
← →
Guerrillero (2003-02-25 21:37) [2]в справку заглядывать лень?
Dynamic arrays are always integer-indexed, always starting from 0.
← →
Cr@sh (2003-02-25 21:38) [3]1)
SetLength(A,n-1);
!!!
Счет элементов массива идет с нуля...
2) Следовательно
for i:=0 to n-1 do
3) В конце пишиfinalize(a)
← →
Guerrillero (2003-02-25 21:39) [4]2 UDS
и память не забудь освободить
← →
Cr@sh (2003-02-25 21:39) [5]опс... опоздал %(
← →
UDS (2003-02-25 21:48) [6]Всем огромное спасибо! В справку смотреть не лень. Просто английским владею с трудом. С необходимостью применения "динамики" сталкиваюсь впервые. Желаю всем успехов. Еще раз спасибо!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c