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

Ajutor!!!

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


#190

Răspunsuri la întrebare

Răspuns de C05E
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;
}

Răspuns de stassahul
5
#include <bits/stdc++.h>

using namespace std;

ifstream fin("oglindiri.in");
ofstream fout("oglindiri.out");

int n,m,a[101];

int main ()
{

    fin >> n;

    for(int i=1;i<=n;i++)
        fin >> a[i];

    fin >> m;

    int i,j;

    for(int k=1;k<=m;k++)
    {
        fin >> i >> j;
        while(i<j)
        {
            swap(a[i],a[j]);
            i++;
            j--;
        }
    }

    for(int i=1;i<=n;i++)
        fout << a[i] << " ";

    return 0;

}
Alte întrebări interesante