quiero hacer un programa, que me imprima por pantalla los elementos mayores de la pila respecto un entero dado.
No me muestra la pila, no se que debería rectificar.
¡Gracias por la ayuda!
Código
#include<iostream> #include<queue> #include<stack> using namespace std; stack<int>nueva(stack<int>&p, int x){ stack<int>p2; while(!p.empty()){ if(x>p.top()){ p2.push(p.top()); } p.pop(); } return p2; } int main() { int a,e; stack<int>p1; cout<<"element"<<endl; cin>>a; cout<<"introduzca los elementos"<<endl; cin>>e; while(e!=0){ p1.push(e); cin>>e; } cout<<endl; stack<int>p2=nueva(p1,a); cout<<"La pila final es"<<endl; cout<<"["; while(!p1.empty()){ cout<<p1.top()<<" "; p1.pop(); } cout<<"]"; system("pause"); return 0; }