Дан массив x [1]..x[n] целых чисел. Не используя других массивов, переставить элементы массива в обратном порядке.- C++(Си)

#include <iostream>
#include <ctime>
using namespace std;
//////////////////////////////////////////////////////////////////////////
void out(int* a,int n);
void vin(int* a,int n);
void perestan(int *a,int n);
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    setlocale(0,"");
    int *a,
        n;
    cout << "Введите количество элементов в массиве: ";
    wcin >> n;
    //_flushall();
    a = new int[n];
    vin(a,n);
    cout << "Массив:" << endl;
    out(a,n);
    cout << "Массив(элементы в обратном порядке):" << endl;
    perestan(a,n-1);
    out(a,n);
    getchar();
    return 0;
}
//////////////////////////////////////////////////////////////////////////
void out(int* a,int n)
{
    for(int i = 0; i < n; i++)
    {
        cout.width(5);
        cout << a[i];
    }
    cout << "\n\n";
}
//////////////////////////////////////////////////////////////////////////
void vin(int* a,int n)
{
    srand((unsigned)time(NULL));
    for (int i = 0; i < n;i++)
    {
        a[i] = rand()%401-200;
    }
}
//////////////////////////////////////////////////////////////////////////
void perestan(int *a,int n)
{
    for (int i = 0 ; i < n/2;i++)
    {
        a[i] ^= a[n-i] ^= a[i] ^= a[n-i]; 
        /*a[n-i] = a[i] + a[n-i];
        a[i] = a[n-i] - a[i];
        a[n-i] = a[n-i] - a[i];*/
    }
}

Leave a Comment