Jump to content

Power set: Difference between revisions

Add Seed7 example
m (→‎{{header|REXX}}: changed the "set" variable name to '''S'''. -- ~~~~)
(Add Seed7 example)
Line 1,853:
(3)
()</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}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.