Sooth Posted November 20, 2007 Share Posted November 20, 2007 Hi! I've made this program to display permutations of a specified number. Anyone knows how should I change the line for(i=1;i<=k-1;i++)if(x[i]==x[k])ev=0; so that it will display combinations instead of permutations? Here is the program for permutations: #include<iostream.h> #include<conio.h> int x[20],i,k,as,ev,n,m; void succ(int k, int&as) { if(x[k]<m) { as=1; x[k]=x[k]+1; } else as=0; } void valid(int k, int &ev) { ev=1; for(i=1;i<=k-1;i++)if(x[i]==x[k])ev=0; } void afis(int k) { for(i=1; i<=k;i++)cout<<x[i]; cout<<endl; } void main() { cout<<"permutations of "; cin>>n; m=n; k=1; x[k]=0; while(k>0) { do { succ(k,as); if(as)valid(k,ev); } while(as&&!ev); if(as)if(k==m)afis(k); else { k=k+1; x[k]=0; } else k=k-1; } getche(); } Quote Link to comment https://forums.phpfreaks.com/topic/78096-combinations-c/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.