Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
3-1114671429
Elast
2005-04-28 10:57
2005.06.06
SQL запрос


1-1116881272
Erick
2005-05-24 00:47
2005.06.06
Как нарисовать точку из 3-х координат?


14-1116184996
Ajax
2005-05-15 23:23
2005.06.06
Перегон авто из Европы


4-1113727212
Grief
2005-04-17 12:40
2005.06.06
невидимое письмо


14-1116580265
12DFBDDh
2005-05-20 13:11
2005.06.06
Роберт Шекли




   Наверх