Potenzmenge.cpp 1.2 KB

1234567891011121314151617181920212223
  1. using namespace std; // import everything from 'std' into current
  2. #include <stdio.h> // Standard Input Output
  3. #include <string.h>
  4. int main (int argc, char* argv[]) {
  5. const int cardinality = 10; // cardinality of the set
  6. const int elements = cardinality + 1;
  7. int control[elements]; // control vector
  8. char delimiter[3]; // character string to be output between the data elements
  9. for (int i = 0; i < elements; control[i++] = 0); // initialize control vector
  10. while (control[0] == 0) { // end of processing upon transfer to MSB
  11. printf ("{"); // beginning of the set elements
  12. strcpy (delimiter, ""); // first elements without preceding characters
  13. for (int i = 1; i <= cardinality; i++) // analyze control vector
  14. if (control[i]) { // Should the element be included in the result set?
  15. printf ("%s%d", delimiter, i - 1);
  16. strcpy (delimiter, ", ");
  17. }
  18. printf ("}\n"); // end of set elements
  19. for (int i = elements; control[--i]++; control[i] = 0); // one addition
  20. }
  21. return 0;
  22. }