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

Вниз

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

 
Gover   (2003-06-25 11:54) [0]

Есть множество Type MnthsRec=set of 1..12;

и переменная

Var St: MnthsRec

St:=[1..2];

Вопрос: как получить максимальный элемент диапозона в этом множестве? Т.е. в данном случае это 2. Пробовал High(St), не получается, ошибка несовместимости типов.


 
Smithson ©   (2003-06-25 11:55) [1]

Hi


 
Gover   (2003-06-25 11:57) [2]

Тоже самое.


 
Poirot ©   (2003-06-25 11:59) [3]

лялямба перебором, но что-то не нравится..............


 
Smithson ©   (2003-06-25 12:00) [4]

Вообще-то да, Hi вернет максимальное значение в типе множества...
Тогда только перебором.


 
Gover   (2003-06-25 12:07) [5]

Пока так:

Function MaxValueSet(St: MnthsRec; Start: Integer): Integer;
Begin
For Result:=Start to 12 Do IF not Result in St then Break;
End;

...
St:=[1..2];

MaxValueSet(St,1);

Если кто лучше придумает, ответьте плиз.


 
Palladin ©   (2003-06-25 12:10) [6]

какой еще перебор в множестве... что вы тут фантастику развели...


 
Poirot ©   (2003-06-25 12:14) [7]


> Gover

unlogical!
надо тогда

for Result:=12 downto Start do
if Result in St then Break;

ну типа того!
Palladin - shut up!


 
Sandman25 ©   (2003-06-25 12:17) [8]

for i := Hi(MnthsRec) downto Lo(MnthsRec) ...

Вроде бы :)


 
Poirot ©   (2003-06-25 12:18) [9]


> Sandman25 ©

универсалнее!


 
Palladin ©   (2003-06-25 12:21) [10]


> Poirot © (25.06.03 12:18)

ну чтож мудрый вы наш, посмотрим порвут ли вас ваши пользователи за вот такое

type
TStarIDs=Set of int64;

ищите...


 
Axis_of_Evil ©   (2003-06-25 12:23) [11]

2Palladin
Какой ты палладин???
Ты Villain // это звание, ИМХО, почетнее чем палладин


 
Poirot ©   (2003-06-25 12:24) [12]


> TStarIDs=Set of int64;

Imposible - теперь посмотрим кто из нас умный и мудрый.... так нельзя.......... учите основы паскале - дорогой мой.......


 
Palladin ©   (2003-06-25 12:25) [13]

бывает...


 
Palladin ©   (2003-06-25 12:28) [14]

мне сама идея "перебор во множестве" кажется очень нелогичной...


 
Poirot ©   (2003-06-25 12:31) [15]


> Palladin ©

я это уже писал... но выхода другого просто похоже нету.... Мак елемент массива даже так приходится находить.....


 
Sandman25 ©   (2003-06-25 12:33) [16]

По-моему, множества вообще не очень логичны - для того, чтобы узнать все элементы множества, надо устраивать полный перебор с помощью for. Например, для вывода множества на экран придется делать for.


 
Poirot ©   (2003-06-25 12:35) [17]

Зато хранить какие-либо флаги удобно и не надо использовать для этого AND или OR и записывать в файл одно удовальствие.... 256 флагов в лучшей рамочке....



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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
1-20131
autootvetchik
2003-06-24 11:28
2003.07.07
HotKey в ActionList


14-20233
BaRToV
2003-06-18 13:24
2003.07.07
KOL + Asm


11-20021
Alexander
2002-10-22 11:29
2003.07.07
Обработка сообщений.


1-20147
lightix
2003-06-24 16:18
2003.07.07
QReport - как программно сменить принтер?


1-20042
TsvIlya
2003-06-25 13:14
2003.07.07
TMemo и Canvas