Pagini recente » Cod sursa (job #132724) | Cod sursa (job #518575) | Cod sursa (job #132059) | Cod sursa (job #2150909) | Cod sursa (job #1433563)
#include<cstdio>
using namespace std;
int main(){
short int n, i, j, t, x;
bool b = true;
short int a[8];
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%hd", &n);
for(i=0; i<n; ++i){
a[i] = i + 1;
}
do{
for(i=0; i<n; ++i){
printf("%hd ", a[i]);
}printf("\n");
b = false;
for(i=n-2; i>=0; --i){
if(a[i] < a[i+1]){
b = true;
break;
}
}
if(b == true){
for(j=n-1; j>=0; --j){
if(a[j] > a[i])
break;
}
}else
return 0;
t = a[i];
a[i] = a[j];
a[j] = t;
j = (n + i)>>1;
for(x = 0,i = i + 1; i <= j; ++i, ++x){
t = a[i];
a[i] = a[n - 1 - x];
a[n - 1 - x] = t;
}
}while(b == true);
return 0;
}