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

Вниз

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

 
RDS ©   (2006-01-10 18:24) [0]

Добрый вечер.
Вопрос следующий. Имеем


var
 a,                       // заполнен
 b,                       // заполнен
 c : array of integer;    // сформировать


Массивы a,b заполнены, длина массивов в общем случае разная, вс значения элементов внутри каждого массива уникальны. Требуется сформировать на основе а и b массив с, в который войдут значения, которые имеются только в одном из массивов


 
Плохиш ©   (2006-01-10 18:29) [1]

Надо использовать циклы и оператор сравнения на равенство.


 
Johnmen ©   (2006-01-10 18:29) [2]

А в чём затруднение?


 
Джо ©   (2006-01-10 18:34) [3]

> [1] Плохиш ©   (10.01.06 18:29)
> Надо использовать циклы и оператор сравнения на равенство.

+ процедуры и функции для работы с дин. массивами: High, SetLength.


 
Leonid Troyanovsky ©   (2006-01-10 18:41) [4]


> Джо ©   (10.01.06 18:34) [3]

> + процедуры и функции для работы с дин. массивами: High,
>  SetLength.


Скорее, цикл with SizeOf & CompareMem.

--
Regards, LVT.


 
Джо ©   (2006-01-10 18:47) [5]

> [4] Leonid Troyanovsky ©   (10.01.06 18:41)

Ну, SetLength все-таки придется использовать. Тем более в свете того, что, перед нами наверняка ученическая задачка или лабораторная работа.


 
Leonid Troyanovsky ©   (2006-01-10 18:57) [6]


> Джо ©   (10.01.06 18:47) [5]

> Ну, SetLength все-таки придется использовать. Тем более
> в свете того, что, перед нами


Во-первых, в своих предположениях мы не должны опускаться до такого.
Во-вторых, а вдруг, все же, не динамические массивы.
Тем более, что они не очень популярны в академической  среде.

--
Regards, LVT.


 
Джо ©   (2006-01-10 18:58) [7]

[6] Leonid Troyanovsky ©   (10.01.06 18:57)
> Во-вторых, а вдруг, все же, не динамические массивы.


См [0]:

> c : array of integer;    // сформировать


:-)


 
Leonid Troyanovsky ©   (2006-01-10 19:01) [8]


> Джо ©   (10.01.06 18:58) [7]

> > c : array of integer;    // сформировать

> :-)


Возможно, что опчепятка.

--
Regards, LVT.


 
RDS ©   (2006-01-10 19:59) [9]

Джо ©   (10.01.06 18:47) [5]
Не задачка. С алгоритмом не получается. Хотелось без временных массивов, пока не выходит.
Leonid Troyanovsky ©   (10.01.06 18:57) [6]
Массивы именно динамические. Поскольку заранее неизвестно кол-во их элементов. и процитирую самого себя :
=======================
длина массивов в общем случае разная
=======================

Впрочем все уже сделано, но мне как-то не нравится. Может кто подкинет свое решение задачи, если вдруг стало интересно.
ЗЫ. Свой вариант пока не выкладываю, дабы не повлиять на возможные ответы


 
MBo ©   (2006-01-10 20:07) [10]

Сливаем массивы вместе, сортируем за NlgN, затем одним проходом выбрасываем дубликаты (путем сдвига)


 
RDS ©   (2006-01-10 20:12) [11]

Так лучше чем я сделал. Я брал два временных массива, потом убивал в них дубликаты, потом сливал в один.
Спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
15-1136416175
GanibalLector
2006-01-05 02:09
2006.01.29
монитор


15-1136900715
V-A-V
2006-01-10 16:45
2006.01.29
Кэширование дисковода в Win XP


15-1136454216
Новичоккк
2006-01-05 12:43
2006.01.29
Разбираюсь с OllyDbg


15-1136220317
Zryndin
2006-01-02 19:45
2006.01.29
Коммерческие компоненты


15-1136289259
Loginov Dmitry
2006-01-03 14:54
2006.01.29
Matrix Reloading Alpha :)