Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <queue>
- #include <cstring>
- using namespace std;
- //o sa folosesc libraria queue care contine deja toat operatiile
- int main(){
- //vectorul a va fi folosit pentru afisarea de la sfarsit,
- //minus devine 1 atunci cand dau push pentru numar negativ
- int n,i,j,minus,c,valoare,a[1000],nr_elemente_vazute=0;
- char cmd[100];
- queue<int> coada;
- cin>>n;
- for(i=0;i<=n;i++){
- cin.getline(cmd,99);
- //daca este front, pune termenul din fata la lista de elemente vazute
- if(cmd[0]=='f'){
- a[nr_elemente_vazute]=coada.front();
- nr_elemente_vazute++;
- }
- //daca este pop, atunci faci pop
- else if(cmd[0]=='p'&&cmd[1]=='o'){
- coada.pop();
- }
- //daca este push, verifici daca pe pozitia 5(push si spatiu ocupa primele 5 pozitii)
- //este un minus sau nu, daca este atunci minus=1, si pornim cu o pozitie dupa aceea pentru conversia numarului
- else if(cmd[0]=='p'&&cmd[1]=='u'){
- if(cmd[5]=='-'){
- minus=1;
- }
- else{
- minus=0;
- }
- valoare=0;
- for(j=5+minus;j<strlen(cmd);j++){
- c=cmd[j]-'0';
- valoare=valoare*10+c;
- }
- if(minus==1){
- valoare=(-1)*valoare;
- }
- coada.push(valoare);
- }
- }
- //afisam valorile salvate prin front
- for(i=0;i<nr_elemente_vazute;i++){
- cout<<a[i]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement