Hey Folks,
i have to create a program which tells me the power set of numbers between 0 and 10.
if the user says things out of the range, he will get asked again.
if the user types in 2, the program has to count from 0 to 2 and has to tell all the power sets
e.g.: { { }, { 0 }, { 1 }, { 0, 1 }, { 2 }, { 0, 2 }, { 1, 2 }, { 0, 1, 2 } }
pic related, the fundament
could anyone help?
>>57736478
#include <stdio.h>
#include <math.h>
void printPowerSet(char *set, int set_size)
{
/*set_size of power set of a set with set_size
n is (2**n -1)*/
unsigned int pow_set_size = pow(2, set_size);
int counter, j;
/*Run from counter 000..0 to 111..1*/
for(counter = 0; counter < pow_set_size; counter++)
{
for(j = 0; j < set_size; j++)
{
/* Check if jth bit in the counter is set
If set then pront jth element from set */
if(counter & (1<<j))
printf("%c", set[j]);
}
printf("\n");
}
}
/*Driver program to test printPowerSet*/
int main()
{
char set[] = {'a','b','c'};
printPowerSet(set, 3);
getchar();
return 0;
}
took like 30 seconds, kill yourself OP
In Haskell this is justimport Data.List
powerSet n = subsequences [0..n]
Hope this helps.
let power_set n =
let rec loop = function
| -1 -> [[]]
| n ->
let ps = loop (pred n) in
let rec inner_loop accu = function
| [] -> accu
| p :: ps -> inner_loop (p :: (n :: p) :: accu) ps in
inner_loop [] ps in
loop n
;;
>>57736569
>loops instead of goto
>>57737140
>2016
>using goto
Lol ok grandpa. Show me any improvement and I'll show you my dick
>>57736478
how you can learn to code if you cant even make a screenshot right
lmao