Guest User

Untitled

a guest
Nov 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include<fstream>
  4. // kod nie moj i nie rafiego
  5. using namespace std;
  6. // tablica bedaca reprezentacja podzbioru - jego
  7. // funkcja charakterystyczna
  8. int S[20] ;
  9.  
  10. int Podzbiory(int n, ofstream *x)
  11. {
  12.     int i, j, k, t ;
  13.     int u = -1, z = -1;
  14.     k = (int)pow(2,(double)n) ; // ilosc podzbiorow - 2^n
  15.     for (i = 0; i < k; i++)
  16.     {
  17.         t = i ;
  18.         for (j = 0; j < n; j++)
  19.         {
  20.             S[j] = (t % 2) ;
  21.             t = ((t - S[j]) / 2) ;
  22.         }
  23.         // wypisanie podzbioru
  24.         for (j = 0; j < n; j++)
  25.         {
  26.             if (S[j] == 1)
  27.             {
  28.                 *x << j + 1 << " " ;
  29.                 if(u == -1)
  30.                     u = j + 1;
  31.                 z = j + 1;
  32.             }
  33.         }
  34.         *x << "Roznica: " <<z - u;
  35.         u = -1;
  36.         z = -1;
  37.         *x << endl ;
  38.     }
  39. }
  40.  
  41. int main()
  42. {
  43.     int n ;
  44.     char c[255];
  45.     cout << " Znalezienie wszystkich podzbiorow zbioru." << endl ;
  46.     cout << endl << " Podaj liczbe elementow zbioru: " ;
  47.     cin >> n ;
  48.  
  49.     //zamiana liczby na tablice charow
  50.     itoa(n, c, 10);
  51.     //dolaczenie do podanej liczby ".txt"
  52.     strcat(c, ".txt");
  53.     //stworzenie strumienia (stworzenie pliku o nazwie c)
  54.     ofstream *plik = new ofstream (c);
  55.  
  56.     cout << endl ;
  57.  
  58.     Podzbiory(n, plik) ;
  59.     //zamkniecie strumienia
  60.     plik->close();
  61.     char w ; cin >> w ;
  62. }
Add Comment
Please, Sign In to add comment