Pagini recente » Cod sursa (job #472428) | Cod sursa (job #1421609) | Cod sursa (job #1890431) | Cod sursa (job #1608501) | Cod sursa (job #433870)
Cod sursa(job #433870)
#include <cstdio>
#include <cstdlib>
#include <cmath>
inline void swap(int& a, int &b){
int tmp; tmp = a; a = b; b = tmp;
}
int main(){
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
int N, i, j, l, last;
int v[10];
scanf("%d", &N);
for(i = 1; i <= N; i++)
v[i] = i;
while(true){
for(i = 1; i <= N; i++)
printf("%d ", v[i]);
printf("\n"),
j = -1;
for(i = 1; i < N; i++)
if(v[i] < v[i+1])
j = i;
if(j == -1)
break;
l = j+1;
for(i = l+1; i <= N; i++)
if(v[j] < v[i])
l = i;
swap(v[j], v[l]);
for(i = j+1, last = N; i < last; last--, i++)
swap(v[i], v[last]);
}
return 0;
}