#include <iostream>
using namespace std;
void convertirEnOnda(int *arr, int n);
void imprimir(int *p, int n);
void intercambio(int &a, int &b);
int main(){
int *vec;
int dim;
cout << "Ingresa el tamano del vector" << endl;
cin >> dim;
vec = new int [dim];
for(int i=0;i<dim;i++){
cout << "Introduce elemento " << i+1 << " del array: ";
cin >> vec[i];
}
imprimir(vec, dim);
convertirEnOnda(vec, dim);
cout << endl;
imprimir(vec, dim);
delete[] vec;
return 0;
}
void convertirEnOnda(int *arr, int n){
for(int i=0;i<n-1;i++){
if(i%2==0){
if(*(arr + i)<*(arr + i + 1))
intercambio(*(arr + i),*(arr + i +1));
}else{
if(*(arr + i)>*(arr + i + 1))
intercambio(*(arr + i),*(arr + i + 1));
}
}
if(n%2==0){
if(*(arr + n - 1)>*(arr + n - 2))
intercambio(*(arr + n - 1),*(arr + n - 2));
}else{
if(*(arr + n - 1)<*(arr + n - 2))
intercambio(*(arr + n - 1),*(arr + n - 2));
}
}
void imprimir(int *p, int n){
for(int f=0;f<n;f++){
cout << *(p + f);
}
}
void intercambio(int &a, int &b) {
int t = a;
a = b;
b = t;
}