Advertisement
jelyslime

zad3:podmnoj s posledovatelnost (kombo)

Jan 27th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int printArray(int * arr, unsigned sz) {
  6.     for (unsigned i = 0; i < sz; i++) {
  7.         cout << arr[i] << "\t";
  8.     }
  9.     cout << endl;
  10.     return 0;
  11. }
  12.  
  13. void genElemKSet(int * uset, int * set, unsigned sz, int pos, unsigned curr,int* komboto,int razmer,int currKombo) {
  14.     int nzkakdagokrustq = 0;
  15.     if (curr == sz) printArray(set, sz);
  16.     else {
  17.         if (curr != pos) {
  18.             set[curr] = 0;
  19.             genElemKSet(uset, set, sz, pos, curr + 1,komboto,razmer,currKombo);
  20.             set[curr] = 1;
  21.             genElemKSet(uset, set, sz, pos, curr + 1,komboto,razmer,currKombo);
  22.         }
  23.         else {
  24.             if (currKombo == razmer)
  25.             {
  26.                 set[curr] = 0;
  27.                 genElemKSet(uset, set, sz, pos, curr + 1, komboto, razmer, currKombo);
  28.                 set[curr] = 1;
  29.                 genElemKSet(uset, set, sz, pos, curr + 1, komboto, razmer, currKombo);
  30.             }
  31.             else
  32.             {
  33.                 set[curr] = komboto[currKombo];
  34.                 genElemKSet(uset, set, sz, pos + 1, curr + 1, komboto, razmer, currKombo + 1);
  35.             }
  36.            
  37.         }
  38.     }
  39. }
  40.  
  41.  
  42.  
  43.  
  44. int main()
  45. {
  46.     const unsigned sz = 5;
  47.     int uarr[sz] = { 1, 2, 3, 4, 5 };
  48.     char bitmaskA[] = "10110";
  49.     int poziciq, dulgposl; //poziciqta i duljinata na kombinaciqta
  50.     cin >> dulgposl;
  51.     int* arrKombo = new int[dulgposl];
  52.     for (int i = 0; i < dulgposl; i++) // pulnene na kombinaciqta
  53.         cin >> arrKombo[i];
  54.     cin >> poziciq; // poziciqta
  55.  
  56.  
  57.     int subset[sz];
  58.     cout << "Genetate all subsets of the universal set, that have are nechetni mamkamu: " << endl;
  59.     genElemKSet(uarr,subset,sz,poziciq,0,arrKombo,dulgposl,0);
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement