Power set: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: changed the "set" variable name to '''S'''. -- ~~~~) |
(Add Seed7 example) |
||
Line 1,853: | Line 1,853: | ||
(3) |
(3) |
||
()</lang> |
()</lang> |
||
=={{header|Seed7}}== |
|||
<lang seed7>$ include "seed7_05.s7i"; |
|||
const func array bitset: powerSet (in bitset: baseSet) is func |
|||
result |
|||
var array bitset: pwrSet is [] (bitset.value); |
|||
local |
|||
var integer: element is 0; |
|||
var integer: index is 0; |
|||
var bitset: aSet is bitset.value; |
|||
begin |
|||
for element range baseSet do |
|||
for key index range pwrSet do |
|||
aSet := pwrSet[index]; |
|||
if element not in aSet then |
|||
incl(aSet, element); |
|||
pwrSet &:= aSet; |
|||
end if; |
|||
end for; |
|||
end for; |
|||
end func; |
|||
const proc: main is func |
|||
local |
|||
var bitset: aSet is bitset.value; |
|||
begin |
|||
for aSet range powerSet({1, 2, 3, 4}) do |
|||
writeln(aSet); |
|||
end for; |
|||
end func;</lang> |
|||
Output: |
|||
<pre> |
|||
{} |
|||
{1} |
|||
{2} |
|||
{1, 2} |
|||
{3} |
|||
{1, 3} |
|||
{2, 3} |
|||
{1, 2, 3} |
|||
{4} |
|||
{1, 4} |
|||
{2, 4} |
|||
{1, 2, 4} |
|||
{3, 4} |
|||
{1, 3, 4} |
|||
{2, 3, 4} |
|||
{1, 2, 3, 4} |
|||
</pre> |
|||
=={{header|Smalltalk}}== |
=={{header|Smalltalk}}== |