Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Вниз
Работа с динамическими массивами! Найти похожие ветки
← →
grol © (2005-05-24 01:36) [0]Еще раз здравствуйте мастера!!! Сегодня я уже второй раз пишу в форум!!! У меня такой вопрос: у меня есть два динамических массива, первый из них уже забит числами, если я преравняю второй массив к первому, то эти два массива приравняются. Если же я попытаю изменять числа во втором массиве, то числа будут изменяться и в первом массиве!!! Как это избежать? То есть мне надо приравнять два массива, которые динамически созданные, и чтоб при изменении чисел в одном массиве в другом они не изменялись. Я конечно же мог это сделать через цикл, но если элементов в массивах будут под 100000, то будет тормоза с компом. Мастера, асы в этом деле помогите ламаку!!!
var
i:integer;
KTIt,KTI:array of Integer;
begin
Setlength(KTI,10);
//заполняю масив числами
For i:=Low(KTI) To High(KTI) do
KTI[i]:=i;
//хочу преравнять один масив к другому делаю так
KTIt:=KTI;
//После два этих массива будут одинаковы
...
KTI:=nil;
KTIt:=nil;
end;
← →
Yanis © (2005-05-24 01:39) [1]Да ты их не преравняешь, а просто адрес копируешь.
← →
grol © (2005-05-24 01:42) [2]А что виновать, что ты здесь и там? Я еще не ас и поэтому мне приходится выбирать где дадут более легкий код для моего понятия!!! Не, но если ты зашел на мою тему, то давай, давай отвечай на вопрос!!!:-)))
← →
Alx2 © (2005-05-24 01:43) [3]Поэлементно в цикле, либо библиотечными функциями (например, copy, move).
А операцией "KTIt:=KTI;" только приравниваешь ссылки.
см. Help на тему "Dynamic arrays"
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c