Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. //o sa folosesc libraria queue care contine deja toat operatiile
  7. int main(){
  8. //vectorul a va fi folosit pentru afisarea de la sfarsit,
  9. //minus devine 1 atunci cand dau push pentru numar negativ
  10. int n,i,j,minus,c,valoare,a[1000],nr_elemente_vazute=0;
  11. char cmd[100];
  12. queue<int> coada;
  13. cin>>n;
  14. for(i=0;i<=n;i++){
  15. cin.getline(cmd,99);
  16. //daca este front, pune termenul din fata la lista de elemente vazute
  17. if(cmd[0]=='f'){
  18. a[nr_elemente_vazute]=coada.front();
  19. nr_elemente_vazute++;
  20. }
  21. //daca este pop, atunci faci pop
  22. else if(cmd[0]=='p'&&cmd[1]=='o'){
  23. coada.pop();
  24. }
  25. //daca este push, verifici daca pe pozitia 5(push si spatiu ocupa primele 5 pozitii)
  26. //este un minus sau nu, daca este atunci minus=1, si pornim cu o pozitie dupa aceea pentru conversia numarului
  27. else if(cmd[0]=='p'&&cmd[1]=='u'){
  28. if(cmd[5]=='-'){
  29. minus=1;
  30. }
  31. else{
  32. minus=0;
  33. }
  34. valoare=0;
  35. for(j=5+minus;j<strlen(cmd);j++){
  36. c=cmd[j]-'0';
  37. valoare=valoare*10+c;
  38. }
  39. if(minus==1){
  40. valoare=(-1)*valoare;
  41. }
  42. coada.push(valoare);
  43. }
  44. }
  45. //afisam valorile salvate prin front
  46. for(i=0;i<nr_elemente_vazute;i++){
  47. cout<<a[i]<<endl;
  48. }
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement