Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include<fstream>
- // kod nie moj i nie rafiego
- using namespace std;
- // tablica bedaca reprezentacja podzbioru - jego
- // funkcja charakterystyczna
- int S[20] ;
- int Podzbiory(int n, ofstream *x)
- {
- int i, j, k, t ;
- int u = -1, z = -1;
- k = (int)pow(2,(double)n) ; // ilosc podzbiorow - 2^n
- for (i = 0; i < k; i++)
- {
- t = i ;
- for (j = 0; j < n; j++)
- {
- S[j] = (t % 2) ;
- t = ((t - S[j]) / 2) ;
- }
- // wypisanie podzbioru
- for (j = 0; j < n; j++)
- {
- if (S[j] == 1)
- {
- *x << j + 1 << " " ;
- if(u == -1)
- u = j + 1;
- z = j + 1;
- }
- }
- *x << "Roznica: " <<z - u;
- u = -1;
- z = -1;
- *x << endl ;
- }
- }
- int main()
- {
- int n ;
- char c[255];
- cout << " Znalezienie wszystkich podzbiorow zbioru." << endl ;
- cout << endl << " Podaj liczbe elementow zbioru: " ;
- cin >> n ;
- //zamiana liczby na tablice charow
- itoa(n, c, 10);
- //dolaczenie do podanej liczby ".txt"
- strcat(c, ".txt");
- //stworzenie strumienia (stworzenie pliku o nazwie c)
- ofstream *plik = new ofstream (c);
- cout << endl ;
- Podzbiory(n, plik) ;
- //zamkniecie strumienia
- plik->close();
- char w ; cin >> w ;
- }
Add Comment
Please, Sign In to add comment