Pagini recente » Cod sursa (job #2050375) | Cod sursa (job #1499849) | Cod sursa (job #1648893) | Cod sursa (job #2568547) | Cod sursa (job #1700912)
#include <stdio.h>
int v[18];
void scriereV(FILE *fout,int n){//scriere vector
int i;
for(i=0;i<n;i++)
fprintf(fout,"%d ",v[i]);
fprintf(fout,"\n");
}
void combinare(FILE *fout,int n,int k,int kc,int x){//generarea combinatilor
v[kc-k]=x;
if(x<=n-k+1){
if(k>0){
combinare(fout,n,k-1,kc,x+1);
combinare(fout,n,k,kc,x+1);
}else
scriereV(fout,kc);
}
}
/*
cum functioneaza programul pe exemplu:
1 2 3
4
3 4
2 3 4
*/
int main(){
int n,k;
FILE *fin=fopen("combinari.in","r");
FILE *fout=fopen("combinari.out","w");
fscanf(fin,"%d%d",&n,&k);
combinare(fout,n,k,k,1);
fclose(fin);
fclose(fout);
return 0;
}