Текущий архив: 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.45 MB
Время: 0.011 c