Informatică, întrebare adresată de bbaba15473, 8 ani în urmă

Date de intrare
Pe prima linie se citește n, numărul de elemente din vector. Pe a doua linie sunt n numere naturale, elementele vectorului, separate prin spații.

Date de ieșire
Se vor afișa toate permutările șirului în ordine lexicografică, fiecare permutare pe câte o linie. Elementele fiecărei permutări vor fi separate prin spații.

Restricții și precizări
2 ≤ n ≤ 9
Elementele vectorului sunt numere naturale mai mici decât 1 000
Vectorul e sortat crescător
Pentru a înțelege cum funcționează funcția, încearcă să o apelezi pentru diverse șiruri, uită-te cum sunt transformate șirurile, dar și ce valoare va returna.
Exemplu
Date de intrare Date de ieșire
4
1 4 4 6



Date de intrare
Pe prima linie se citește n, numărul de elemente din vector. Pe a doua linie sunt n numere naturale, elementele vectorului, separate prin spații.

Date de ieșire
Se vor afișa toate permutările șirului în ordine lexicografică, fiecare permutare pe câte o linie. Elementele fiecărei permutări vor fi separate prin spații.

Restricții și precizări
2 ≤ n ≤ 9
Elementele vectorului sunt numere naturale mai mici decât 1 000
Vectorul e sortat crescător
Pentru a înțelege cum funcționează funcția, încearcă să o apelezi pentru diverse șiruri, uită-te cum sunt transformate șirurile, dar și ce valoare va returna.
Exemplu
Date de intrare
4
1 4 4 6
Date de ieșire
1 4 4 6
1 4 6 4
1 6 4 4
4 1 4 6
4 1 6 4
4 4 1 6
4 4 6 1
4 6 1 4
4 6 4 1
6 1 4 4
6 4 1 4
6 4 4 1

Răspunsuri la întrebare

Răspuns de dobijec891
1

#include <iostream>

#include <algorithm>

using namespace std;

int main() {

int n, v[8];

cin >> n;

for (int i = 1; i <= n; ++i) {

 cin >> v[i];

}

do {

 for (int i = 1; i <= n; ++i) {

  cout << v[i] << " ";

 }

 cout << "\n";

} while (next_permutation (v + 1, v + 1 + n));

return 0;

}

Alte întrebări interesante