Поменять местами значения элементов, находящихся на нечетных позициях, с правым соседом
Помогите, пожалуйста. Я написала код для задачи, где надо Поменять местами значения элементов, находящихся на нечетных позициях, с правым соседом. Но программа выдает ошибку компиляции не могу понять в чём проблема.
#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-эти символы лишние)
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
В зависимости от того, что ответите на вопрос Harry, оставьте строку #define _132546 как есть или закомментируйте ее.
#include <iostream>
using namespace std;
#define _132546
int main() {
int n;
cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++) cin >> a[i];
for (int i =
#if defined(_132546)
1;
#else
0;
#endif
i + 1 < n; i += 2) {
int b = a[i];
a[i] = a[i + 1];
a[i + 1] = b;
}
for (int i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
delete[] a;
}