Jak uzyskac wartośc elementu stosu używając stack

0

Jak korzystając z biblioteki stack uzyskac wartośc elementu znajdującego się na szczycie stosu?

Próbowałam tak:

 for(i=0;i<k;i++)
    {
     
        cout<<"Liczby większe od 3 to";
        
        z=stosLiczb.top();
        if(z>3)
        cout<<stosLiczb.top();
    }

Ta częśc się nie kompiluje...

A ja nie mam pomysłu co powinnam zrobic...

0

#include <iostream>
#include <stack>

using namespace std;

int main()
{   
stack <int> y;
   int i,k; 
   
   for(i=0;i<13;i++)
   {y.push(i+1);
   }

   int & u=y.top();
   for(k=0;k<13;k++)
   {
if(u>3)
  { cout<<"\nwieksze od 3 "<<u;}
   }
   y.pop();
}
   
   return 0;
}

Dlaczego to nie działa? Ma wypisywac liczby ze stosu większe od 3

1

Spróbuj tak:

for(k=0;k<13;k++) {
    int u = y.top();
    if(u>3)
    cout<<"\nwieksze od 3 "<<u;
    y.pop();
}
2
while(!y.empty())
  {
   if(y.top()>3) cout<<y.top()<<endl;
   y.pop();
  }
1

A jeśli nie możesz wywalać ze stosu w trakcie wypisywania to znaczy, że nie potrzebujesz stosu tylko tablicy (vector)

1 użytkowników online, w tym zalogowanych: 0, gości: 1