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

Pyhon''s Multi-Line Statements , Statements in Python classically end with ...

Statements in Python classically end with a new line. Python does, though, permit the use of the line continuation character (\) to denote that the line should continue. Illustrati

Definition of Internal hardware interruptions, Internal interruptions are...

Internal interruptions are produced by convinced events which come during the execution of a program. These types of interruptions are handled on their totality by the hardware and

Diskless workstations, Diskless workstations:    Most people assume th...

Diskless workstations:    Most people assume that the operating system is stored on a disk that is connected directly to the computer, but this is not necessarily true. If the

Q: HOW DO YOU CODE -- WITHOUT USING ARRAYS OR SPLIT FUNCTION, Q: HOW DO YOU...

Q: HOW DO YOU CODE -- WITHOUT USING ARRAYS OR SPLIT FUNCTIONS -- TO SEPARATE COMMA SEPARATE NUMBER VALUES AND THEN SUM TO TOTAL? I.E., USING SUBSTRING AND INDEXOF. I''ve been try

Twisted pairs, Twisted Pairs: Twisted pairs are familiar to all of us ...

Twisted Pairs: Twisted pairs are familiar to all of us as the copper wire telephone lines. These are of low frequency, and support a limited bandwidth (one voice channel) but

Twisted pair cable, what are daily uses of twisted pair cable in network

what are daily uses of twisted pair cable in network

Counters and registers, design a synchronous, recycling, MOD-12 counter wit...

design a synchronous, recycling, MOD-12 counter with D FF''s. Use the states 0000 through 1011 in the counter.

Write a program to solve a maze 10x10, write a program to solve a 10x10 maz...

write a program to solve a 10x10 maze. prompt the user for an input text file containing ten rows(ten characters on each row). Use following characters in the input file: * startin

Classification of database management systems, Question 1: (a) Describ...

Question 1: (a) Describe the three ways of classification of Database management systems (DBMS). (b) Why are System Analysts and Database Administrators needed in compa

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