Write the function pop in c, Basic Computer Science

Assignment Help:

QUESTION

(a) Convert each of the following expressions to prefix and postfix.

(i) (A+B)*(C+D)

(ii) A-B/(C*D^E) (^ denotes exponentiation)

(b) The following algorithm converts an infix expression into its postfix representation. We have assumed that the infix expressions contain only the operators +, -, * and /. The expressions do not contain parentheses. Examples of valid expressions are A+B*C and A/B+C/D-E.

opstk = the empty stack;

while (not end of input) {

symb = next input character;

if (symb is an operand)

add symb to the postfix string

else{

while(!empty(opstk) && prcd(stacktop(opstk),symb)){

topsymb = pop(opstk);

add topsymb to the postfix string;

}

push(opstk,symb);

}

}

while(!empty(opstk)){

topsymb = pop(opstk);

add topsymb to the postfix string;

}

(i) Write the function empty in C. The function empty must return TRUE if the stack is empty and FALSE if the stack is not empty.

(ii) Write the function pop in C. The function must perform the following three actions:

1. If the stack is empty, print a warning message and halt execution.

2. Remove the top element from the stack.

3. Return the top element of the stack to the calling function.

(iii) Write the function prcd(op1,op2) in C, where op1 and op2 are characters representing operators. The function prcd(op1,op2) must return TRUE if op1 has precedence over op2 when op1 appears to the left of op2 in an infix expression. The function prcd(op1,op2) returns FALSE otherwise.

 


Related Discussions:- Write the function pop in c

Satellite transmission, Satellite Transmission: Satellites use microwa...

Satellite Transmission: Satellites use microwave frequencies and techniques. Satellites used for message transmission (as opposed to those, which travel around the earth on st

Central processing unit, Central Processing Unit Microprocessor Th...

Central Processing Unit Microprocessor The microprocessor is an important component in the CPU. It is the unit which processes the instructions depending on its capability

Distinguish between passive and active attacks, QUESTION (a) Distinguis...

QUESTION (a) Distinguish between passive and active attacks. (b) Give two reasons why it is important to organise security awareness programs for users. (c) Explain how s

Explain the universal nand and nor gates, Question 1 Describe the followin...

Question 1 Describe the following- Binary Number System b. Octal Number System Hexadecimal Number System   Question 2 Describe the Canonical Logical Forms-

Language of digital computers, Language of Digital Computers: Digital ...

Language of Digital Computers: Digital computers are electronic devices which operate on two valued logic (On and OFF). The ability of a transistor to act as a switch is the k

Analyze the complexity of dijkstra''s algorithm, QUESTION (a) Given the...

QUESTION (a) Given the graph as shown in figure, apply Lagrangian technique to complete the table assuming μ=1 and T=14                        Path P

Data type, Data Type:  Data Type: Anything that is processed by a comp...

Data Type:  Data Type: Anything that is processed by a computer is called data. There are different types of data that can be given to the computer for processing. A  data typ

Depth first search-artificial intelligence, Depth First Search-Artificial i...

Depth First Search-Artificial intelligence: Depth first search is  similar to breadth first, except that things are added to the top of the plan rather than the bottom. In our

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd