Главная страница
    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.46 MB
Время: 0.044 c
2-1164292892
Panaev
2006-11-23 17:41
2006.12.10
Вопрос по MaskEdit


15-1163760410
untermensch
2006-11-17 13:46
2006.12.10
В чём щас помосчь пишется ?


2-1164123200
Уважаемый Ламер
2006-11-21 18:33
2006.12.10
Запись данных в таблицу


15-1164196964
Rbn
2006-11-22 15:02
2006.12.10
MS SQL шифровать


9-1139701704
Bogdan1024
2006-02-12 02:48
2006.12.10
Armed Man v1.07 Last Call





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский