Текущий архив: 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.47 MB
Время: 0.006 c