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

Вниз

сравнение двух булевых массивов   Найти похожие ветки 

 
Сатир   (2006-11-21 15:28) [0]

есть два булевых массива
a,b:array of boolean;
возможно ли их как-то сравнить без прохождения в цикле по каждому элементу?


 
DrPass ©   (2006-11-21 15:34) [1]

Вообще без цикла - нельзя. Можно попытаться соптимизировать - использовать packed array, одновременно загружать и сравнивать по четыре элемента... но это все фигня, которой стоит заниматься только если скорость сравнения очень уж критична


 
clickmaker ©   (2006-11-21 15:36) [2]

CompareMem, если нужно только факт различия установить


 
Сатир   (2006-11-21 15:44) [3]


> CompareMem, если нужно только факт различия установить

можно примерчик, плиииз8-)


 
Сатир   (2006-11-21 15:47) [4]

if CompareMem(a,b,Length(a)) then
ShowMessage("Both arrays are indentical!")
;-)
thnX


 
clickmaker ©   (2006-11-21 15:48) [5]


> [3] Сатир   (21.11.06 15:44)

одного вызова функции с тремя параметрами?
может как-нить сам?


 
Сатир   (2006-11-21 16:02) [6]


> может как-нить сам?

уже:-)


 
Наиль ©   (2006-11-21 17:31) [7]

> есть два булевых массива
> a,b:array of boolean;

Обычно в таких случаях используется a,b:Set of
Экономия памяти в 8 с лишним раз.


 
Сатир   (2006-11-21 17:48) [8]


> Обычно в таких случаях используется a,b:Set of

это если кол-во элементов в массиве меньше 255


 
Наиль ©   (2006-11-21 18:10) [9]

> это если кол-во элементов в массиве меньше 255

Если нужно много, но сэкономить память, то делать наследника от TBits.
Правда, там нужен будет всё тот же CompareMem.


 
Anatoly Podgoretsky ©   (2006-11-21 22:15) [10]


> это если кол-во элементов в массиве меньше 255

Потому что ты как решил?


 
TUser ©   (2006-11-22 07:04) [11]


> if CompareMem(a,b,Length(a)) then
> ShowMessage("Both arrays are indentical!")

if length (a) = length (b) then
if CompareMem(@a[0],@b[0],Length(a)*sizeof(a[0])) then
 showmessage ...



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

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

Наверх




Память: 0.49 MB
Время: 0.053 c
6-1153662868
prim_v
2006-07-23 17:54
2006.12.10
изменить IP


1-1161710150
7D7
2006-10-24 21:15
2006.12.10
Как узнать объем памяти для данных?


2-1163951411
Alians
2006-11-19 18:50
2006.12.10
RasEnumEntriesA


15-1164017098
Cyrax
2006-11-20 13:04
2006.12.10
Системные программы на C, С++, С# и Java


15-1164102361
Cyrax
2006-11-21 12:46
2006.12.10
Чем отличается кодер от программиста ?