![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск элемента множества по его естественному порядку.
Ш-К © (2004-11-05 12:23:00)У меня есть переменная типа множество.
Как найти n-ый элемент переменной. Не индексируя элементы в цикле.
Просто интересно.
TUser (2004-11-05 13:49:00) [21]tset = (tsName1, tsName2);
var
Form1: TForm1;
implementation
uses TypInfo;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 1 do
memo1.lines.add(getenumname(typeinfo(tset),i));
end;
Ш-К (2004-11-05 13:12:00) [22]Семен Сорокин © (05.11.04 12:42) [1]
Так и сделал.
Digitman © (05.11.04 12:46) [2]
Тогда уж, нахождения индекса n-го единичного бита.
Digitman (2004-11-05 12:46:00) [23]
> Как найти n-ый элемент переменной
задача сводится к чтению состояния n-ного бита массива, хранящего множество.
Семен Сорокин (2004-11-05 12:42:00) [24]хм, имхо, если взять за то, что элементы в множестве указаны в порядке возрастания, то только пробежаться в цикле по возможным элементам множества, увеличивая индекс при вхождении в множество, по достижении необходимого индекса - Break.