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
#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;
}