Поменять местами значения элементов, находящихся на нечетных позициях, с правым соседом
Помогите, пожалуйста. Я написала код для задачи, где надо Поменять местами значения элементов, находящихся на нечетных позициях, с правым соседом. Но программа выдает ошибку компиляции не могу понять в чём проблема.
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for(int i=0; i<2*n; i++)
cin>>a[i];
for(int i=0; i<((2*n)-1); i+=2){
int b=a[i];
a[i]=a[i+1];
a[i+1]=b;
cout<<a[i]<<" ";
cout<<a[i+1]<<" ";
}
}
Ввод: 2 3 4 6 8 21 Вывод:3 2 6 4 21 8 -856850045 -608398848 0 0 21987 -1800889904 32764 -1002209536 0 0 (-856850045 -608398848 0 0 21987 -1800889904 32764 -1002209536 0 0-эти символы лишние)
Источник: Stack Overflow на русском