Главная страница
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.012 c
1-20069
anod
2003-06-25 15:55
2003.07.07
Как определить одновременное нажатие клавиш


1-20119
Сан Саныч
2003-06-24 02:23
2003.07.07
Джентльмены, помогите справиться с property editor-ом.


7-20324
Alta
2003-04-25 02:23
2003.07.07
добавить юзеров на win2000


3-19981
Солер
2003-06-13 08:40
2003.07.07
Мастера! Помогите с запросом!!!


7-20321
LexusU
2003-04-24 16:50
2003.07.07
Как захватить с веб-камеры картинку?