Pagini recente » Cod sursa (job #82148) | Cod sursa (job #2380672) | Cod sursa (job #1028753) | Cod sursa (job #26271) | Cod sursa (job #332919)
Cod sursa(job #332919)
#include <fstream.h>
using namespace std;
ofstream out("permutari.out");
ifstream in("permutari.in");
void genpermutare(int n)
{
int k, t, aux;
int p[n];
for(int i=1; i<=n; i++){ p[i]=i; out<<p[i]<<" "; if (i==n) out<<"\n";}
while(1)
{
k=n-1;
while(p[k]>p[k+1]) k--; if(k<1)break;
t=n;
while(p[t]<p[k]) t--;
aux = p[t]; p[t]=p[k]; p[k]=aux;
for(int i=0; i<(n-k)/2; i++) {aux=p[k+1+i]; p[k+1+i]=p[n-i]; p[n-i]=aux;}
for(int i=1; i<=n; i++) {out<<p[i]<<" "; if (i==n) out<<"\n";}
}
}
int main()
{ int a;
in>>a;
genpermutare(a);
out.close();
in.close();
return 0;
}