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(); } Link to comment https://forums.phpfreaks.com/topic/78096-combinations-c/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.