Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

динамический массив   Найти похожие ветки 

 
Std   (2006-04-07 01:09) [0]

Доброго времени.
Подскажите можно ли ка кто добавлять в массив элементы не задавая при этом размер массива?
тоесть зделать типа

var
arr:array of integer;
n:integer;
begin
...
n:=0;
if a<15 then
arr[n]:=a;

при этом а берется из большого списка, и заранее не известно сколько будет элементов в вассиве..


 
unknown ©   (2006-04-07 01:40) [1]


> Std   (07.04.06 01:09)
> не задавая при этом размер массива

Как это вы себе представляете?

> при этом а берется из большого списка, и заранее не известно
> сколько будет элементов в вассиве

Ну и что?
Допустим n - счетчик строк в списке, a - значение из строки списка, тогда
получится примерно следующее:
if n=Length(arr) then
 SetLength(arr,n+1);
arr[n]:=a;


 
Германн ©   (2006-04-07 02:02) [2]


> Std   (07.04.06 01:09)  
>
> Доброго времени.
> Подскажите можно ли ка кто добавлять в массив элементы не
> задавая при этом размер массива?

Нельзя, никак, никогда.  Увы.
Тебе посоветовали способы оптимизации вызовов SetLength при загрузке файла в динамический массив. Имхо - это максимум возможного.


 
Anatoly Podgoretsky ©   (2006-04-07 09:18) [3]

Можно, но только будет рантайм ошибка


 
tesseract ©   (2006-04-07 09:42) [4]

tlist - ему размер не задаётся.


 
Std   (2006-04-07 15:25) [5]

вот зделал вот так:

var
i,j:integer;
arr:array of integer;
begin
i:=0;
j:=1;
цикл который проверяет весь список
if x<15 then
begin
 SetLength(arr,j);
 arr[i]:=a;
 inc(i);
 inc(j);
end;
конец цикла

работает нормально, так что всем спасибо за беспокойство



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
15-1143728797
Хинт
2006-03-30 18:26
2006.04.23
Не пойму где ошибка (вызов функции из DLL)


2-1144673267
kernel
2006-04-10 16:47
2006.04.23
Dll FileName из самой себя


2-1144059818
Khim
2006-04-03 14:23
2006.04.23
TActionMainMenuBar


6-1137063115
HITMAN
2006-01-12 13:51
2006.04.23
HTTP


3-1141387721
[AleX]
2006-03-03 15:08
2006.04.23
DBGrid &amp; ADO и не только....