• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

CBSE Tuts

CBSE Maths notes, CBSE physics notes, CBSE chemistry notes

  • NCERT Solutions
    • NCERT Solutions for Class 12 English Flamingo and Vistas
    • NCERT Solutions for Class 11 English
    • NCERT Solutions for Class 11 Hindi
    • NCERT Solutions for Class 12 Hindi
    • NCERT Books Free Download
  • TS Grewal
    • TS Grewal Class 12 Accountancy Solutions
    • TS Grewal Class 11 Accountancy Solutions
  • CBSE Sample Papers
  • NCERT Exemplar Problems
  • English Grammar
    • Wordfeud Cheat
  • MCQ Questions

NCERT Solutions for Class 12 Computer Science (C++) – Stack

Contents

NCERT Solutions for Class 12 Computer Science (C++) – Stack

Short Answer Type Questions-I[2 marks each]

Question 1.
Evaluate the following postfix expression. Show the status of stack after execution of each operation separately:
2,13, + , 5, -,6,3,/,5,*,<
Answer:

ITEM
SCANNED

OPERATION STACK
2 PUSH 2 2
13 PUSH 13 2,13
+ POP 13 and 2
Evaluate 2 + 13 = 15
PUSH 15
15
5 PUSH 5 15,5
– POP 5 & 15
EVALUATE 15-5 = 10
PUSH 10
10
6 PUSH 6 10, 6
3 PUSH 3 10, 6, 3
/ POP 3 & 6
EVALUATE 6/3= 2
PUSH 2
10,2
5 PUSH 5 10, 2, 5
* POP 5 & 2
EVALUATE 2*5 = 10
PUSH 10
10, 10
< POP 10 & 10
EVALUATE
10<10 = FALSE
PUSH FALSE
FALSE

RESULT = FALSE

Question 2.
Evaluate the following postfix expression : (show status of Stack after each operation)
100,40,8,/,20,10,-,+,*
Answer:

ITEM

SCANNED

OPERATION STACK
100 PUSH 100 100
40 PUSH 40 100,40
8 PUSH 8 100,40,8
/ POP 8
POP 40
EVALUATE 40/8 =5
PUSH 5
100,5
20 PUSH 20 100,5,20
10 PUSH 10 100, 5, 20, 10
POP 10
POP 20
EVALUATE 20-10 =10
PUSH 10
100,5,10
+ POP 10 POP 5
EVALUATE 10 + 5= 15 PUSH 15
100,15
* POP 15
POP 100
EVALUATE 100 * 15 = 1500
PUSH 1500
1500

Question 3.
Evaluate the following postfix expression. Show the status of stack after execution of each operation separately:
T, F, NOT, AND, T, OR, F, AND
Answer:

S.No. Scanned Element Operation Stack
1 True PUSH True True
2 False PUSH False False
3

 

NOT

Calculate NOT False

POP False

PUSH True

True

True, True

4

 

And

calculate:

True AND True

POP True POP True

PUSH True

True

True

5 True PUSH True True, True
6

 

OR

Calculate: True OR True

POP True

PUSH True

True

True

7 False PUSH False True, False
8

 

AND

Calculate: True AND False

POP False

POP True PUSH False

True

False

Thus the stack will have False Value

Question 4.
Evaluate the following postfix expression. Show the status of stack after execution of each operation separately:
F, T, NOT, AND, F, OR, T, AND
Answer:

S.No. Scanned Element Operation Stack
1 F PUSH F F
2 T PUSH T F,T
3 NOT

Calculate NOT T

POP T

PUSH F

F

F,F

4 AND

Calculate NOT

POP F

POP F

PUSH F

F

F

5 F PUSH F F,F
6 OR POP F

POP F

 

7 T PUSH T F,T
8 AND POP T

POP F

PUSH F

F

F

Thus the stack will have False Value

Question 5.
Evaluate the following postfix expression using a stack and show the contents of stack after execution of each operation:
5,3,2, *, 4,2, /, -,*
Answer:

SYMBOL STACK OUTPUT
5 5
3 5,3
2 5,3,2
* PUSH 3,2

Perform 3*2=6

POP 6

5

5

5,6

4 5,6,4
2 5,6,4,2
/ PUSH 4,2

Perform 4/2=2

POP2

5,6

5,6

5,6,2

– PUSH 6,2

Perform 6-2=4

POP 4

5

5

5,4

* PUSH 5,4

perform 5*4=20.

POP 20

20

Result=20

Question 6.
Evaluate the following POSTFIX notation. Show status of Stack after every step of evaluation (i.e. after each operation)
False NOT, True, AND, True, False, OR, AND
Answer:

Element Scanned Stack Status
False False
NOT True
True True, True
AND True
True True, True
False True, True, False
OR True, True
AND True

Final Answer: True

Question 7.
Top is a pointer variable pointing to the top element of a stack, with each node having the following structure declaration:
struct Stack {int Data, Stack * Next};
Considering the above explanation, what will the following code do ?
int count = 0, Sum = 0;

Stack * Temp = Top;
 while (Temp - > Next! = NULL)
 { count + +;
 Sum + = Temp - > Data;
 Temp Temp - > Next;
 }
 count < < Sum / count;

Answer:
It will calculate the average of stack values.

Question 8.
Convert the expression ((x * 3 + y * 3 + z * 3) / (x + y + z)) into postfix expression. Show the content of the stack during the conversion.
Answer:
Given expression : ((x * 3 + y * 3 + z * 3) / (x + y + z))
((x * 3 + y * 3 + z * 3) / (x + y + z))

Symbol

Scanned

Stack Expression
(

(

X

*

(

((

((

((*

—

—

X

X

3

+

y

X-

3

+

z

X-

3

)

/

(

X

+

y

+

Z

)

)

((*

((* +

((* +

((* + *

((* + *

((* + * +

((* + * +

((* + * + *

((* + * + *

(

(/

(/(

(/(

(/(+

(/(+

</(+ +

(/(+ +

(/

x3

x3

x3y

x3y

x3y3

x3y3

x3y3z

x3y3z

x3y3z3

x3y3z3 * + * + *

x3y3z3 * + * + *

x3y3z3* + * + *

x3y3z3 * + * + * x

x3y3z3 * + * + * x       •

x3y3z3 * + * + * x y

x3y3z3 * + * + * x y

x3y3z3 * + * + * xyz

x3y3z3 * + * + * xyz + +

x3y3z3 * + * + * xyz + +/

\Postfix expression is: x3y3z3 * + * + * xyz + +/

Question 9.
Evaluate the following POSTFIX expression, show the status of Stack after execution of each operation separaterly:
45,45,+,32,20,10,/,-,*
Answer:

Element Scanned Stack Status
45 45
 45  45,45
+  90
 32 90,32
20 90,32,20
 10 90,32,20,10
/ 90,32,2
– 90,30
* 2700

Hence the final result is 2700

Question 10.
Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion.
P/Q+(R-T)*U
Answer:
P/Q+(R-T)*U = (P/Q+(R-T)*U)

Element Stack of Operator

Postfix

Expression

( (
P ( P
/ (/ P
Q </ PQ
+ (/+ PQ
( (/+( PQ
R (/+( PQR
– (/+(- PQR
T (/+c- PQRT
) (/+ PQRT-
* (* PQRT-+/
U )* PQRT-+/U
) PQRT-+/U*

 

Short Answer Type Questions-II[3 marks each]

 

Question 1.
Write the definition of a member function Pop ()
in C++, to delete a book from a dynamic stack of TEXTBOOKS considering the following code is already included in the program.

Struct TEXTBOOKS
 {
 Char ISBN [20]; Char TITLE [80]; TEXTBOOKS *Link;
 };
 class STACK
 {
 TEXTBOOKS *Top; 

public :
 STACK () {Top = NULL;} 

void Push ();
 . void pop );
 -STACK ();
 };

Answer:

void STACK : : POP ()
 {
 if (Top ! = NULL)
{
 TEXTBOOKS *Temp;
 Temp=Top;
cout<< TOP- >ISBN<<Top-
 TITLE<<"delected"<<endl;
 Top=Top-Link;
 delete Temp;
 }
 else
 cout<<"Stack Empty"<<endl;
 }

OR
Any other correct equivalent function definition

Question 2.
Write the defintion of a member function PUSH () in C+ +, to add a new book in a dynamic stack of BOOKS considering the following code is already included in the program :

struct BOOKS
 {
 Char ISBN [20]; TITLE[80];
 BOOKS *Link;
 };
 class STACK
 {
 BOOKS *Top;
 public :
 STACK () {Top = NULL;}
 void PUSH ();
 Void POP ();
 -STACK ();
 };

Answer:

void STACK :: PUSH ()
 {
 BOOKS *Temp;
 Temp=New BOOKS;
 gets (Temp->ISBN);
 gets (Temp->TITLE);
 Temp->Link =Top;
 Top=Temp;
 }

OR
Any other correct equivalent function definition

Question 3.
Convert the expression (A-5)*6+(10/B)/2 to corresponding postfix expression. Also show the status of operator stack after each step.
Answer:
((A-5)*6+(10/B)/2)

Scanned

Elements

Stack Status Output
(

(

A

–

5

)

*

6

+

(

10

/

B

)

/

2

)

(

((

((

((-

((-

(

(*

(*

(+

(+(

(+(

(+(/

(+(/

(+

(+/

(+/

 

 

 

A

A

A, 5

A, 5,-

A, 5,-

A, 5, -, 6

A, 5, -, 6*

A, 5,-, 6,*

A, 5,     6, *, 10

A, 5, -, 6, *, 10

A, 5,     6, *, 10, B

A, 5,-, 6,10, B/

A, 5,    6,10, B J

A, 5,-, 6, *, 10, B/,2

A,5,-,6,M0,By,2y,+

The correspondence postfix expression is A, 5, 6, 10, B, /,2, /,+

Long Answer Type Questions[4 marks each]

Question 1.
Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion.
A/(B+C)*D-E
Answer:
A/ (B + C) *D-E

Element Stack Expression
A

/

(

B

+

C

)

★

D

–

E

(

(/

(/C

(/c

(/c+

(/c+

(*

(*

(-

(-

A

A

A

AB

AB

ABC

ABC+

ABC+/

ABC+/D

ABC+/D*

ABC+/D*E-

Question 2.
Write definition for a function DISPMID (int A[][5], int R, int C) in C+ + to display the elements of middle row
and middle column from a two dimensional array A having R number of rows and C number of columns.
For example, if the content of array is as follows:

215 912 516 401 515
103 901 921 802 601
285 209 609 360 172

The function should display the following as output:
103 901 921 802
601 516 921 609
Answer:

void DISPMID (int A[] [5] , int R, int C)
 {
 int mid = (R+C)/2;
 for (int i=0; i<c; i++)
 {
 Cout << A[mid] [i]<<"";
 } cout<<endl;
 for (int i=0; i<R; i++)
 cout << A[i][mid]<<"";
 }

Question 3.
Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion.
P/(Q-R)*S+T
Answer:
P/(Q-R)*S+T
BODMAS : PQR-/S*T+
PQR-/S*T+

Element Stack Expression

P

/

(

Q

–

R

)

*

S

+

T

)

(

(/

(/c

(/c

(/c-

(/c-

(/

(*

(*

(+

(+

P

P

P

PQ

PQ

PQR

PQR-

PQR-/

PQR-/S

PQR-/S*

PQR-/S*T

PQR-/S*T+

Question 4.
Convert the following infix expression to its equivalent postfix expression, showing the stack contents for each step of conversion:
X/Y+U*(V-W)
Answer:
X / Y + U* (V – W) = ((X / Y) + (U * (V – W)))

Element Stack Postfix
(
(
X X
/ / X
Y / XY
) XY/
+ + XY/
( + XY/
U + XY/U
* + * XY/U
( + * XY/U
V + * XY/UV
– + *- XY/UV
W + *- XY/UVW
) + * XY/UVW-
) + XY/UVW-*
) it XY/UVW-* +

OR

Element Stack Postfix
X X
/ / X
Y / XY
+ + XY/
U + XY/U
* + * XY/U
( + *( XY/U
V + *( XY/UV
– + *(- XY/UV
w + ‘(- XY/UVW
) + * XY/UVW-
XY/UW-*
XY/UVW-* +

OR

Any other method or converting the given Infix expression to its equivalent Postfix expression showing stack contents

Question 5.
Evaluate the following postfix expression using stack and show the contents after excecution of each.
Answer:
Operations : 470,5,4,∧,25,/,6,*

S. No. Symbol Operation Stack Result
1 470 push(470) 470
2 5 push(5) 470,5
3 4 push(4) 470,5,4
4 /N P°P(4) 470,5
0 pop(5) 470
perform(5∧4)
push(625) 470,625
5 25 push(25) 470,625,25
6 / pop(25) 470,625
pop(625) 470
perform(625/25) 470
push(25) 470,25
7 6 push(6) 470,25,6
8 * pop(6) 470,25
pop(25) 470
perform(25*6) 470

Question 6.
Write member functions to perform POP and PUSH operations in a dynamically allocated stack containing the objects of the following structure:

struct Game
 { char Gamename[30];
 int numofplayer;
 Game *next; } ;

Answer:

struct Game
 {
 char Gamename[3 0] ;
 int numofplayer;
 Game *next;
 };
 class Stack { Game *Top;
 public :
 Stack ()
 {
 Top = NULL;
 }
 void Push();
 void Pop();
 void display();
 -Stack();
 } ;
 void Stack::Push()
 {
 Game *temp = new Game;
 cout<<"Enter Data : "; gets(temp->Gamename);
 cin>>temp->numofplayer;
 temp->next =Top;
 Top = temp;
 }
 void Stack:: Pop()
 {
 if ( Top != NULL)
 {
 Game *temp = Top;
 cout<Gamename<<" Deleted"; Top = Top->next;
 delete temp;
 }
 else
 cout<<"Stack is empty....";
 }

Question 7.
Write a function PUSHBOOK() in C++ to perform insert operation on Dynamic Stack, which contains Book_no and Book_Title. Consider the following definition of NODE, while writing your C+ + code,

struct NODE
{
int Book_No ;
char Book_Title [20];
NODE * Next;
};

Answer:

Void PUSHBOOK (NODE *TOP> int Book_No, char B Title [20])
 {
 NODE*temp;
 temp=new NODE;
 temp —> Book_No=Book_No;
 Strcpy (temp —> Book_Title, B Title) ;
 temp --> Next=NULL ;
 if (Top==NULL)
 Top=temp;
 else
 {
 temp —> Next=top;
 Top==temp;
 }
 }

Question 8.
Write a function POPBOOK( ) in C++ to perform delete operation from a Dynamic Stack, which contains Bno and Title. Consider the following definition of NODE, while writing your C++code.

struct NODE
{
int Bno;
char Title[20] ;
NODE * Link;
} ;

Answer:

node*PopBOOK(node*TOP int Bno, char B Title [20])
{
node*temp;
temp=new node;
temp —>Bno=Bno;
strcpy (temp —>Title, B Title);
temp ->link=NULL:
if (TOP==NULL)
Top=Temp;
else
{
temp —>link=Top;
TOP==temp;
}
}

Question 9.
Write the definition of a member function push() for a class Library in C++ to insert a book information in a dynamically allocated strack of books considering the following code is already written as a part of the program

struct book
{
int bookid;
char bookname[20];
book*next;
} ;
class Library
{
book*top;
public
Library()
{
top=NULL;
}
void push();
void pop();
void disp() ;
-Library();
};

Answer:

void Library: :push()
{
book*nptr;
nptr=new book;
cout<<"Enter values for bookid and bookname"; cin> >nptr->bookid;
gets(nptr->bookname);
nptr->next =NULL;
if (top==NULL)
top=nptr;
else
{
nptr->next=top,
top=nptr;
}
}

Question 10.
Convert the following Infix expression to its equivalent Postfix expression, showing the stack contents for each step of conversion:
U * V + R / (S-T)
Answer:
U*V + R/(S-T)

Element  Stack Postfix
(
(
U U
* *
V UV
) UV*
+ +
(
R UV*R
/ +/
(
S UV*RS
– +/-
T UV*RST
) UV*RST-
) UV*RST-/
) UV*RST-/+

OR

U U
 * * U
V * UV
+ + UV*
R + UV*R
/ +/ UV*R
( +/( UV*R
S +/( UV*RS
– +/(- UV*RS
T +/(- UV*RST
) +/ UV’RST-
+ UV’RST-/
UV*RST-/+

OR

Any other method for converting the given Infix expression to its equivalent Postfix expression showing stack contents.

NCERT SolutionsComputer scienceEnglishHindiHumanitiesCommerceScience

Primary Sidebar

NCERT Exemplar problems With Solutions CBSE Previous Year Questions with Solutoins CBSE Sample Papers
  • The Summer Of The Beautiful White Horse Answers
  • Job Application Letter class 12 Samples
  • Science Lab Manual Class 9
  • Letter to The Editor Class 12 Samples
  • Unseen Passage For Class 6 Answers
  • NCERT Solutions for Class 12 Hindi Core
  • Invitation and Replies Class 12 Examples
  • Advertisement Writing Class 11 Examples
  • Lab Manual Class 10 Science

Recent Posts

  • Understanding Diversity Question Answer Class 6 Social Science Civics Chapter 1 NCERT Solutions
  • Our Changing Earth Question Answer Class 7 Social Science Geography Chapter 3 NCERT Solutions
  • Inside Our Earth Question Answer Class 7 Social Science Geography Chapter 2 NCERT Solutions
  • Rulers and Buildings Question Answer Class 7 Social Science History Chapter 5 NCERT Solutions
  • On Equality Question Answer Class 7 Social Science Civics Chapter 1 NCERT Solutions
  • Role of the Government in Health Question Answer Class 7 Social Science Civics Chapter 2 NCERT Solutions
  • Vital Villages, Thriving Towns Question Answer Class 6 Social Science History Chapter 9 NCERT Solutions
  • New Empires and Kingdoms Question Answer Class 6 Social Science History Chapter 11 NCERT Solutions
  • The Delhi Sultans Question Answer Class 7 Social Science History Chapter 3 NCERT Solutions
  • The Mughal Empire Question Answer Class 7 Social Science History Chapter 4 NCERT Solutions
  • India: Climate Vegetation and Wildlife Question Answer Class 6 Social Science Geography Chapter 8 NCERT Solutions
  • Traders, Kings and Pilgrims Question Answer Class 6 Social Science History Chapter 10 NCERT Solutions
  • Environment Question Answer Class 7 Social Science Geography Chapter 1 NCERT Solutions
  • Understanding Advertising Question Answer Class 7 Social Science Civics Chapter 7 NCERT Solutions
  • The Making of Regional Cultures Question Answer Class 7 Social Science History Chapter 9 NCERT Solutions

Footer

Maths NCERT Solutions

NCERT Solutions for Class 12 Maths
NCERT Solutions for Class 11 Maths
NCERT Solutions for Class 10 Maths
NCERT Solutions for Class 9 Maths
NCERT Solutions for Class 8 Maths
NCERT Solutions for Class 7 Maths
NCERT Solutions for Class 6 Maths

SCIENCE NCERT SOLUTIONS

NCERT Solutions for Class 12 Physics
NCERT Solutions for Class 12 Chemistry
NCERT Solutions for Class 11 Physics
NCERT Solutions for Class 11 Chemistry
NCERT Solutions for Class 10 Science
NCERT Solutions for Class 9 Science
NCERT Solutions for Class 7 Science
MCQ Questions NCERT Solutions
CBSE Sample Papers
NCERT Exemplar Solutions LCM and GCF Calculator
TS Grewal Accountancy Class 12 Solutions
TS Grewal Accountancy Class 11 Solutions