Cod sursa(job #3360682)
| Utilizator | Data | 15 iulie 2026 18:08:38 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.83 kb |
#include <fstream>
using namespace std;
ifstream cin("permutari.in");
ofstream cout("permutari.out");
int main()
{
int n;
cin >> n;
int v[11];
for (int i = 1; i <= n; i++)
{
v[i] = i;
}
while (true)
{
for (int i = 1; i <= n; i++)
{
cout << v[i] << " ";
}
cout << '\n';
int p = n - 1;
while (p >= 1 && v[p] >= v[p + 1])
{
p--;
}
if (p == 0)
break;
int j = n;
while (v[j] <= v[p])
{
j--;
}
swap(v[p], v[j]);
int st = p + 1;
int dr = n;
while (st < dr)
{
swap(v[st], v[dr]);
st++;
dr--;
}
}
return 0;
}
