Pagini recente » Cod sursa (job #2451694) | Cod sursa (job #1356022) | Cod sursa (job #2381667) | Cod sursa (job #1611871) | Cod sursa (job #1801824)
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n ,i ,j, nfact ,p[15];
void Urmatoarea_permutare();
int main()
{
f>>n;
nfact=1;
for(i=1;i<=n;i++)
nfact*=i;
for(i=1;i<=n;i++)
p[i]=i;
for(i=1;i<=nfact;i++)
{
for(j=1;j<=n;j++)
g<<p[j]<<' ';
g<<'\n';
Urmatoarea_permutare();
}
return 0;
}
void Urmatoarea_permutare()
{
int i,j;
for(i=n;i>=1;i--)
if(p[i]>p[i-1])
break;
if(i==1)
return;
for(j=n;j>=i;j--)
if(p[j]>p[i-1])
break;
int aux=p[i-1];p[i-1]=p[j];p[j]=aux;
for(j=n;j>i;i++,j--)
{
aux=p[i];p[i]=p[j];p[j]=aux;
}
}