{ тип множества } type TSet=pointer; { выделение памяти для множества на count элементов} function createSet(count:integer):TSet; { изменение размера множества } procedure setSize(var dstSet:TSet; newCount:integer); { получение размера множества } function getSize(bSet:TSet): integer; { уничтожение множества } function destroySet(dstSet:TSet); { сжатие множества до минимально возможного размера } procedure shrinkSet(var dstSet:TSet); { аналог операции in } function inSet(bSet:TSet; e:integer):boolean; { аналог операции + } { при необходимости увеличивает размер dstSet} procedure addSet(dstSet:TSet; b1Set,b2Set:TSet); procedure addSet(dstSet,bSet:TSet); { аналог операции - } { при необходимости увеличивает размер dstSet} procedure subSet(dstSet:TSet; b1Set,b2Set:TSet); procedure subSet(dstSet,bSet:TSet); { аналог операции * } { при необходимости увеличивает размер dstSet} procedure mulSet(dstSet:TSet; b1Set,b2Set:TSet); procedure mulSet(dstSet,bSet:TSet); { аналог функции include } { при необходимости увеличивает размер dstSet} procedure includeSet(dstSet:TSet; e:integer); { аналог функции exclude } { при необходимости увеличивает размер dstSet} procedure excludeSet(dstSet:TSet; e:integer);
Проверить работу функций.
Рекомендуемый язык программирования - FreePascal
Разрешается использовать язык программирования Си