Cod sursa(job #1004200)
Utilizator | Ouatu Bogdan-Ioan BogdanOuatu | Data | 2 octombrie 2013 11:51:37 |
---|---|---|---|
Problema | Generare de permutari | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.78 kb |
#include <fstream>
#include <algorithm>
using namespace std;
int a[12];
int main()
{
int n,i,j,x,y;
ifstream fin("permutari.in");
fin>>n;
fin.close();
for(i=1;i<=n;i++)
a[i]=i;
ofstream fout("permutari.out");
while(a[0]==0)
{
for(i=1;i<=n;i++)
fout<<a[i]<<'\n';
fout<<'\n';
j=n;
while(a[j]<a[j-1])
j--;
x=a[j-1]+1;
for(i=j;i<=n;i++)
if(a[i]==x)
{
y=i;
break;
}
x=a[j-1];
a[j-1]=a[y];
a[y]=x;
sort(a+j,a+n+1);
}
fout.close();
return 0;
}