1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Elan Coil [88]
2 years ago
5

Matching parentheses. An math expression may have a number of parentheses like (, ), [, ], { and }. Each openning parenthesis (,

or [, or { must be macthed by a corresponding closing parenthsis ), or ] or }. For example, 12 { 34 / [ 6 * ( 55 - 10 ) / ( 100 20 ) ] } has matched pairs of parentheses, while 12 { 34 / ( 6 * ) ] } does not. Write a function to check whether an input math expression has matched parentheses. The header of the function is given as follows:
bool match( const char exp [ ], const int s);
The input math express is store in the char array exp, and the size of exp is s. It returns true if all parentheses are matched or false otherwise.
Computers and Technology
1 answer:
Solnce55 [7]2 years ago
3 0
C++ Code

#include
using namespace std;

bool match(const char exp[],const int s)
{
// declare a character array to perform stack operations
char stack[s];

// declare top and initialize to -1 and flag to 0
int top=-1,i,flag=0;

// visit all characters in the expression string
for(i=0;i {
// if the character is [ or ( or { then push it into stack
if(exp[i]=='[' || exp[i]=='(' || exp[i]=='{')
{
top++;
stack[top]=exp[i];
}
// if the character is ] or ) or } then check conditions
else if(exp[i]==']' || exp[i]==')' || exp[i]=='}')
{
// check stack is empty or not
if(top!=-1)
{
// check all possible failure conditions
if(exp[i]==')' && (stack[top] == '{' || stack[top]=='['))
{
flag = 1;
break;
}
else if(exp[i]==']' && (stack[top] == '{' || stack[top]=='('))
{
flag = 1;
break;
}
else if(exp[i]=='}' && (stack[top] == '(' || stack[top]=='['))
{
flag = 1;
break;
}
top--;
}
else
{
flag=1;
break;
}
}
}
// after visiting all characters of expression string check if stack is not empty and flag is 1. if any one of the condition is true return false. otherwise return true

if(top>=0 || flag==1)
return false;
else
return true;
}

int main()
{

// declare character array to store expression
char exp[10000];
cout<<"Enter an Expression"<
// read expression from user
cin.getline(exp, 10000);
int s=0;

// find the length of the expression string
for(int i=0;exp[i]!='\0';i++)
{
s++;
}

// call the match function
bool status = match(exp,s);

// print the result based on value returned by match() function
if(status == 1)
cout<<"true"< else
cout<<"false"<
}


Sample Input/Output is attached

You might be interested in
Write the one Sale method of the GroceryStore class. Method oneSale has one parameter: the name of one product (that a customer
DIA [1.3K]

Answer:

Check the explanation

Explanation:

bool oneSale(string item){

for(int i=0;i<capacity;i++){ // iterate till the capcity of array

if(item==grocerryList[i].name()){ // if name matches

 if(grocerryList[i].getStock()>0){ // and stock is greater than 0

  grocerryList[i].setStock(grocerryList[i].getStock()-1); // subtract 1 from the stock

// or alternate is grocerryList[i].stock= grocerryList[i].stock-1;

 return true; // return true

}

}

else if(item==grocerryList[i].name()){ // if name matches

 if(grocerryList.getStock()==0){ // but stock is empty

 return false; // return falsse

}

}

else{ // means item is not available so there is no need to check stock

return false; // return false

}

}

}

8 0
3 years ago
If powerpoint is allowed to dominate a speech, it can divert attention from the speaker's message.
aev [14]
<span>The statement that if powerpoint is allowed to dominate a speech, it can divert attention from the speaker's message is true.
</span>
PowerPoint provides a common infrastructure, a template for the organization of speech, and for the logic of argumentation<span> and presentations should use both visual and verbal forms of presentation in order to dominate.</span>
3 0
3 years ago
Which key on the keyboard do you use when you copy using Drag and Drop? The Alt key. The Ctrl key. The Shift key. None of the ab
tamaranim1 [39]
CTRL key is used indeed
6 0
3 years ago
Read 2 more answers
What are the three different categories of the types of rule ?
slamgirl [31]
Depends on what rules your talking about
3 0
3 years ago
If you were at the front of a long line of people, stepped onto a chair and took a
WINSTONCH [101]
They are closer to the people and they work than a senior management
7 0
3 years ago
Other questions:
  • A newspaper publishes a negative editorial on how local politicians are dragging their feet in building a new bridge. Select the
    5·2 answers
  • DSSS uses a chipping code to encode redundant data into the modulated signal. Which two of the following are examples of chippin
    12·1 answer
  • Write the definition of a method, oddsMatchEvens, whose two parameters are arrays of integers of equal size. The size of each ar
    10·1 answer
  • A part-time job performed while in high school must have the approval of your school counselor.
    7·2 answers
  • Complete the statement by entering the appropriate term in the space below.
    13·2 answers
  • Hello pls answer<br><br><br>what is the use of loop in java​
    5·1 answer
  • To qualify for a particular scholarship, a student must have an overall grade point average of 3.0 or above and must have a scie
    8·2 answers
  • 1. It manages the computer's memory and processes, as well as all of its software and hardware.
    8·1 answer
  • Open a Python interpreter. Python can show you the set of currently known names if you type dir(). While these values may vary f
    7·1 answer
  • _____ is a higher-level, object-oriented application interface used to access remote database servers
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!