Pagini recente » Cod sursa (job #2648291) | Cod sursa (job #416992) | Cod sursa (job #1666636) | Cod sursa (job #2489780) | Cod sursa (job #1125790)
#include<fstream>
using namespace std;
int n,v[9];
ifstream f("permutari.in");
ofstream g("permutari.out");
int fact(int a)
{int b=1;
for(int k=2;k<=a;k++)
b*=k;
return b;
}
void perm()
{int x=n,aux,w=n;
while(v[x]<v[x-1])
x--;
x--;
while(v[x]>v[w])
w--;
aux=v[x];
v[x]=v[w];
v[w]=aux;
for(int y=x+1;y<=(n+x)/2;y++)
{aux=v[y];
v[y]=v[n+x-y+1];
v[n+x-y+1]=aux;
}
}
int main()
{f>>n;
for(int i=1;i<=n;i++)
{v[i]=i;
g<<v[i]<<' ';
}
g<<'\n';
for(int i=2;i<=fact(n);i++)
{perm();
for(int j=1;j<=n;j++)
g<<v[j]<<' ';
g<<'\n';
}
return 0;
}