Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <stack>
  3. #include <sstream>
  4. #include <map>
  5.  
  6. using namespace std;
  7.  
  8. void operationNstore ( multimap < int , string > &database , int N )
  9. {
  10. for ( int i = 0 ; i < N ; ++i )
  11. {
  12. string line ;
  13. int a = 0 ;
  14. int b = 0 ;
  15. int res = 0 ;
  16. char op = '_' ;
  17. getline ( cin , line ) ;
  18. istringstream istr ( line ) ;
  19. istr >> a >> op >> b ;
  20. switch ( op )
  21. {
  22. case '+':
  23. {
  24. res = a + b ;
  25. }
  26. break ;
  27.  
  28. case '-':
  29. {
  30. res = a - b ;
  31. }
  32. break ;
  33.  
  34. case '*':
  35. {
  36. res = a * b ;
  37. }
  38. break;
  39.  
  40. case '/' :
  41. {
  42. res = a / b ;
  43. }
  44. break ;
  45. case '%' :
  46. {
  47. res = a%b ;
  48. }
  49. break;
  50. }
  51. database.insert ( { res , line } ) ;
  52. }
  53.  
  54. }
  55.  
  56. int main()
  57. {
  58. multimap < int , string > database ;
  59. stack < string > reversePrint ;
  60. int N = 0 ;
  61. string line ;
  62. getline ( cin , line ) ;
  63. N = stoi ( line ) ;
  64. operationNstore( database , N ) ;
  65. cout << endl ;
  66. for ( multimap < int , string > :: iterator it = database.begin() ; it != database.end() ; ++it )
  67. {
  68. reversePrint.push ( it -> second ) ;
  69. }
  70.  
  71. while ( !reversePrint.empty() )
  72. {
  73. cout << reversePrint.top() << endl ;
  74. reversePrint.pop() ;
  75. }
  76.  
  77.  
  78. return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement