Informatică, întrebare adresată de Ouroboros, 9 ani în urmă

C++
#190


Se dă un vector cu n elemente numere naturale, numerotate de la 1 la n, și m perechi de indici (i,j), cu 1≤i Cerinţa

Să se afișeze elementele vectorului după realizarea, în ordine, a celor m oglindiri.
Date de intrare

Fişierul de intrare oglindiri.in conţine pe prima linie numărul n, iar pe a doua linie cele n elemente ale vectorului. Următoarea linie conține numărul m, iar următoarele m linii câte o pereche de indici i j.
Date de ieşire

Fişierul de ieşire oglindiri.out va conţine pe prima linie cele n elemente ale vectorul obținute după cele m oglindiri, separate prin câte un spațiu.
Restricţii şi precizări

1 ≤ n ≤ 100
numerele de pe a doua linie a fişierului de intrare vor fi mai mici decât 1000
1 ≤ m ≤ 100


Exemplu

oglindiri.in

10
55 50 16 37 66 44 31 24 10 63
3
5 8
2 6
6 10

oglindiri.out

55 31 24 37 16 63 10 66 44 50

Explicație

După prima operație de oglindire, vectorul devine: 55 50 16 37 24 31 44 66 10 63

După a doua operație de oglindire, vectorul devine: 55 31 24 37 16 50 44 66 10 63

După a treia operație de oglindire, vectorul devine: 55 31 24 37 16 63 10 66 44 50

Răspunsuri la întrebare

Răspuns de ionutg38
3
#include <fstream> using namespace std; ifstream cin("oglindiri.in"); ofstream cout("oglindiri.out"); int n,m,a[10001]; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>m; int i,j; for(int k=1;k<=m;k++) { cin>>i>>j; while(i<j) { swap(a[i],a[j]); i++; j--; } } for(int i=1;i<=n;i++) cout<<a[i]<<' '; return 0; }
Alte întrebări interesante