How I fix this code so that when I type in numbers I can order it in descending order specifically with the Heapsort method, since when I type numbers it does not. CODE:
//ordenamiento por Heapsort descendente
#include<iostream>
#include<conio.h>
using namespace std;
void insertamonticulo(int a[100], int n);
void eliminamonticulo(int a[100], int n);
int main(){
int i, n;
int a[100];
cout << "Ingrese el valor de n: "; cin >> n;
for( i = 1; i <= n; i++){
cin >> a[i];
}
insertamonticulo(a,n);
eliminamonticulo(a,n);
for( i = 1; i <= n; i++){
cout << a[i] << " ";
//return ;
}
}
void insertamonticulo(int a[100], int n){
int k, aux, band, i;
for( i = 2; i <= n; i++){
k = i; band = 1;
while(( k>1 ) && (band == 1)){
band = 0;
if(a[k] > a[k]){
aux = a[k];
a[k] = aux;
k = k +1;
band = 1;
}
}
}
//return insertamonticulo(a);
}
void eliminamonticulo(int a[100], int n){
int aux, izq, der, k, ap, boool, mayor, i;
for(i = n; i>=2;i--){
aux = a[i];
a[i] = a[1];
izq = 20;
der = 21;
k = 1;
boool = 1;
while((izq < i) && (boool == 1)){
mayor = a[izq];
ap = izq;
if((mayor<a[der]) && (der!=i)){
mayor = a[der];
ap = der;
}
if(aux < mayor){
a[k] = a[ap];
k = ap;
}
else{
boool = 0;
}
}
a[k]= aux;
}
//return eliminamonticulo(a);
}