# Combinations with factorial

• 06-28-2002
fero45
Combinations with factorial
Would somebody help me with this.

Let's take 4! (4 times 3 times 2 times 1 time = 24). This is easy to do but I want to have all 24 combinations on the screen.

Thanks
• 06-28-2002
golfinguy4
Code:

``` for (x=2; x>0; x--) { for (y=2; y>0; y--)   { if(y==x) continue;       cout<<x<<","<<y<<endl;     } }```
There is a little code that will do it for 2!. You can expand on that for 4!.
• 06-29-2002
raimo
You are creating *permutations*.
Here is a function for creating all permutations in order (there is one in STL too called next_permutation using templates):

Code:

```#include <iostream> void swap(int &n1,int &n2) {     int temp=n1;     n1=n2;     n2=temp; } bool next_permutation(int *table, int length) {     int key=length-1, i=length-1;     while(key>0 && table[key]<=table[key-1])         key--;     if(key==0)return false;     key--;     while(table[key]>=table[i])         i--;     swap(table[key],table[i]);     for(i=length-1,key++;key<i;key++,i--)         swap(table[key],table[i]);     return true; } int main () {     int i, sequence[10]={1,2,3,4,5,6,7,8,9,10};     do {       for(i=0;i<10;i++)         std::cout<<sequence[i]<<" ";       std::cout<<std::endl;     } while(next_permutation(sequence,10));     return 0; }```
• 06-29-2002
fero45
Factorial
Thanks for the solutions. Is it possible to get a solution so I don't have to specify in advance the number of elements in the array.
Fero
• 06-29-2002
Hunter2
I''m just guessing 'cuz I didn't look carefully (I'm probably wrong, but whatever), but looking at golfinguy's post, try this:

Code:

``` void showStuff(int n) { for (x=n; x>0; x--) { for (y=n; y>0; y--)   { if(y==x) continue;       cout<<x<<","<<y<<endl;     } } }```
again, this is a wild guess based on a quick glance at golfinguy's post...