Pagini recente » Cod sursa (job #599122) | Cod sursa (job #1687839) | Cod sursa (job #1686778) | Cod sursa (job #1791772) | Cod sursa (job #1151102)
#include <fstream>
using namespace std;
long int n,p[10],i,j,poz,gata,minim,aux;
int main()
{
ifstream f("permutari.in");
ofstream g("permutari.out");
f>>n;f.close();
for(i=1;i<=n;i++)
p[i]=i,g<<i<<' ';g<<'\n';
do
{
poz=n;
while(p[poz]<p[poz-1] && poz>1) poz--;
poz--;
if(poz)
{minim=p[poz+1];j=poz+1;
for(i=poz+2;i<=n;i++)
if(p[i]<minim && p[i]>p[poz]) minim=p[i],j=i;
aux=p[poz];p[poz]=p[j];p[j]=aux;
for(i=1;i<=(n-poz)/2;i++) aux=p[poz+i],p[poz+i]=p[n-i+1],p[n-i+1]=aux;
for(i=1;i<=n;i++)
g<<p[i]<<' ';
g<<'\n';}
}while(poz);
g.close();
return 0;
}