Informatică, întrebare adresată de Alex22053, 8 ani în urmă

Salut! Am o problema de facut in c++.

Se dau combinari de n luate cate k, unde k si n sunt citite de la tastatura.

Sa se afiseze toate combinarile posibile de numere.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
0

#include <iostream>

using namespace std;

int x[100], n, p;

void prelsol() {

   for (int i=1; i<=p; i++) {

       cout<<x[i]<<" ";

   }

   cout<<endl;

}

int valid(int k) {

   for (int i=1; i<=k-1; i++) {

       if (x[i]<=x[k]) {

           return 0;

       }

   }

   return 1;

}

void back() {

   int k;

   for (k=1; k<=p; k++) {

       x[k]=0;

   }

   k=1;

   while (k>0) {

       if (k==p+1) {

           prelsol();

           k--;

       }

       else {

           if (x[k]<=n-1) {

               x[k]++;

               if (valid(k)) {

                   k++;

               }

           }

           else {

               x[k]=0;

               k--;

           }

       }

   }

}

int main() {

   cin>>n>>p;

   back();

   return 0;

}

Alte întrebări interesante