تشخیص متقارن بودن پارانتزها (به ازای هر پارانتز باز ، یک پارانتز بسته وجود دارد) با استفاده از پشته ها (STL)
کد:
#include <iostream>
#include <conio>
#include <stack>
#include <string>
#include <vector>
using namespace std;
int main(){
string str = "(2+3*(5+6/2))+(3/(6+7*3))";
stack<char,vector<char>> s;
for(int i=0;i<str.size();i++){
if(str[i]=='(')
s.push('(');
if(str[i]==')')
s.pop();}
if(s.empty())
cout<<"True \n";
else
cout<<"False \n";
getch();
}