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

Briefly explain html and xml, Question 1 Briefly explain principles of eff...

Question 1 Briefly explain principles of effective navigation Question 2 Explain the terms URI and URL. Why should you use Relative URI? Question 3 What are the di

Program and programming language, Program and Programming Language : ...

Program and Programming Language : A Program is defined as a collection of statements/ instructions that enable the computer to solve a problem. The process of writing a prog

Quiz for your learning activity, The development of your learning module is...

The development of your learning module is very time consuming, so it is recommended that you begin creating your learning module during this first week. Before you begin, download

Processor, Processor: Processor plays major role in a computer. One sh...

Processor: Processor plays major role in a computer. One should carefully decide about the type of processor and its speed before making a choice. Currently Core 2 Duo process

Definition of procedure, A procedure is a compilation of instructions to wh...

A procedure is a compilation of instructions to which we can express the flow of our program, and once the execution of these instructions is over power is given back to the next l

Multiple Statement Groups as Suites, Sets of individual statements making u...

Sets of individual statements making up a single code block are known as suites in Python. Composite or complex statements for example if, def while and class are those which neces

Obtain the truth table and a boolean expression, Problem 1. Convert the...

Problem 1. Convert the following number system 12.34 (8) to binary number system 23BC.0A (16) to decimal number system 456.012 (16) to Octal number system 123

Operating system, Ask question describes deadlock avoidance#Minimum 100 wor...

Ask question describes deadlock avoidance#Minimum 100 words accepted#

Principal structures in flow charting, PRINCIPAL STRUCTURES IN FLOW CHARTIN...

PRINCIPAL STRUCTURES IN FLOW CHARTING Structured programing calls for the usage of four principal structures to help simplify the program. They are:     Sequential contro

What is a stateless and and a stateful server, StatefulServer, maintains so...

StatefulServer, maintains some information between requests. Requires smaller messages, since some information is kept between contacts, example: FTP, telnet. Stateless Server req

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