/* Se citesc n si p numere naturale, n>=p. Se cere sa se genereze toate submultimile cu p elemente ale multimii {1,2,...,n} (generarea combinarilor) - stiva are inaltimea p - elementele aflate pe niveluri diferite ale stivei sunt distincte - pentru a evita repetitia, elementele se aseaza in ordine crescatoare: pe nivelul k se va afla o valoare > decat pe nivelul k-1 si <= cu n-p+k */ #include #include int st[10],n,k,p; void Init() { if (k>1) st[k]=st[k-1]; else st[k]=0; } int Am_Succesor() { if(st[k]0) { do { } while ((As=Am_Succesor()) && !Valid()); if (As) if (Solutie()) Tipar(); else { k++; Init(); } else k--; } } void main() { clrscr(); printf("n="); scanf("%d",&n); printf("p="); scanf("%d",&p); back(); getch(); }