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

What is the definition of macro?, Definition of the macro A macro is a col...

Definition of the macro A macro is a collection of repetitive instructions in a program which are codified only one time and can be used as many times as required. The major differ

What is fragmentation? explain its significance, Question A What is fragme...

Question A What is fragmentation? Explain its significance Question B Briefly discuss the functions of transport layer Question C What is CIDR? Explain Question D W

Nano programing, Nano programming using microcontrol and circuits

Nano programming using microcontrol and circuits

Ultrasonic waves, Ultrasonic Waves: Sound waves outside the audible range o...

Ultrasonic Waves: Sound waves outside the audible range of humans. Ultrasonic waves consist of frequencies greater than 20 kHz and exist in excess of 25 MHz. Applications include i

GNF, what does it means

what does it means

Assembly language, Questions 1) Polynomial Integrals Problem: Write an X86-...

Questions 1) Polynomial Integrals Problem: Write an X86-series assembly language program that calculates and prints out (in a nice form) the indefinite integral of a simple polynom

Define Function of OSI Layers, OSI Layers: Open Systems Interconnection mod...

OSI Layers: Open Systems Interconnection model is a reference model developed by International Organization for Standardization in 1984, as a conceptual structure of principles fo

Definition of resource sharing , Resource sharing is a concept which has de...

Resource sharing is a concept which has developed to contain many cooperative activities among libraries and other stakeholders. Interlibrary loan continues to be the basis of reso

List two i/o virtualization methods, Question 1 List two I/O virtualizatio...

Question 1 List two I/O virtualization methods. Based on different features compare these two methods Question 2 Discuss three areas considered by organizations to secure the

Programming, write a program to display the first ten terms of the series 2...

write a program to display the first ten terms of the series 2,5,10,17,...........

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