From 294e4e0044176f0f94d67b980c13bf2d4b909ecc Mon Sep 17 00:00:00 2001 From: Parveen-jangra Date: Wed, 6 Oct 2021 12:01:51 +0530 Subject: [PATCH] Postfix-Notation (Stack) --- Postfix_Notation.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Postfix_Notation.cpp diff --git a/Postfix_Notation.cpp b/Postfix_Notation.cpp new file mode 100644 index 0000000..c14747c --- /dev/null +++ b/Postfix_Notation.cpp @@ -0,0 +1,52 @@ +#include +using namespace std; + +int postfixEvaulation(string s) +{ + stack st; + for (int i = 0; i < s.length(); i++) + { + if (s[i]>='0' && s[i]<='9') + st.push(s[i]-'0'); //-0 islye kiya for intiger value + + else + { + int op2=st.top(); + st.pop(); + int op1=st.top(); + st.pop(); + + switch (s[i]) + { + + case '+': + st.push(op1+op2); + break; + + case '-': + st.push(op1-op2); + break; + + case '*':1 + st.push(op1*op2); + break; + + case '/': + st.push(op1/op2); + break; + + case '^': + st.push(pow(op1,op2)); + break; + } + } + + } + return st.top(); +} + +int main() +{ + cout<