NCERT Solutions for Class 12 Computer Science (C++) – Pointers
Very Short Answer Type Questions [1 mark each]
Question 1:
Write the definition of a function FixPay (float Pay[ ], int N) in C+ + , which should modify each element of the array Pay having N elements, as per the following rules :
Existing Salary Value | Required Modification in Value |
If less than 1,00,000 | Add 25% in the existing value |
If >=1,00,000 and <20,000 | Add 20% in the existing value |
If >=2,00,000 | Add 15% in the existing value |
Аnswer:
Void FixPay(float Pay[],int N) { for(int i=0;i<N;i++) { if(Pay[i]<100000) Pay[i]+= Pay[i]*0.25; else if(Pay[i]<200000) Pay[i]+= Pay[i]*0.20; else Pay[i]+= Pay[i]*0.15 ; } }
Question 2:
Write the definition of a member function INSERT() for a class QUEUE in C+ +, to remove a product from a dynamically allocated Queue of items considering the following code is already written as a part of the program.
Struct ITEM { int INO; char INAME[20]; ITEM*Link; }; class QUEUE { ITEM *R,*F; Public: QUEUE(){R=NULL; F=NULL;} void INSERT(); void DELETE(); ~QUEUE(); };
Аnswer:
Void QUEUE::INSER() { ITEM*newitem = new ITEM; Cout<<"enter item number"; cin>>newitem → INO; Cout<<"Enter item name"; gets(newitem → INAME); newitem → Link = NULL; if (R==NULL) R=F=newitem; else { R → Link=newitem; R = newitem; }
Short Answer Type Questions-I
Question 1:
Write the output from the following C+ + program code :
#include<iostream.h> #include<ctype.h> void strcon(char s[]) { for(int i=0,l=0;s[i]!='\0';i++,l++); fortint j=0;j<l;j++) { if(isupper(s[j])) s[j]=tolower(s[j])+2; else if( islower(s[j])) s[j]=toupper(s[j])-2; else s[j] ='@'; } } void main() { char *c="Romeo Joliet"; strcon(c); cout<<"Text="<<c<<endl; c=c+3; cout<<"New Text="<<c<<endl; c=c+5-2 ; cout<<"last Text= "<<c; }
Аnswer:
Text = tMKCM@lMJGCR
New Text = KCM@1MJGCR
Last Text = 1MJGCR
Question 2:
Obtain the output of the following C+ + program as expected to appear on the screen after its execution.
Important Note :
All the desired header files are already included in the code, which are required to run the code.
void main() { char *Text="AJANTA"; int *P, Num[]={l,5,7,9} P=Num; cout <<*p<< Text <<endl; Text++; P++; cout<<*P<<Text<<endl; }
Аnswer:
1AJANTA
5JANTA
Question 3:
Obtain the output from the following C+ + program as expected to appear on the screen after its execution.
Important Note :
• Adi the desired header files are already included in the code, which are required to run the code.
void main() { char *String="SARGAM"; int *Ptr, a[]={1,5,7,9}; ptr=a; cout<<*ptr<<String<<endl; String++; ptr+=3; cout<<*ptr<<String<<endl; }
Аnswer:
1 SARGAM
9ARGAM
Question 4:
Give the output of the following program segment: (Assuming all desired header file(s) are already included)
void main() { float *Ptr, Points[] = {20,50,30,40,10}; Ptr = points; cout<<*Ptr<<endl; Ptr+=2; Points[2]+=2.5; cout<<*Ptr<<endl; Ptr++; (*Ptr)+=2.5; cout<<Points[3]<<endl; }
Аnswer:
20.00 32.5
42.50
Question 5:
Find the output of the following code :
Important Note :
All the header files are already included in the code, which are required to run the code.
void main() { char *String="SHAKTI"; int*Point,Value[]={10,15,70,19}; Point=Value; cout<<*Point<<String<<endl; String++; Point++; cout<<*Point<<String<<endl; }
Аnswer:
10SHAKTI
15HAKTI
Question 6:
Write the output of the following C+ + program code :
Note : Assume all required header files are already being included in the program.
void change(int*s) { for(int i=0;i<4;i++) { if(*s<40) { if(*s%2==0) *s=*s+10; else *s=*s+ll; } else { if(*s%2==0) *S=*S-10; else *s=*s-ll; } cout<<*s<<" "; s++; } } void main() { int score[]={25,60,35,53 }; change(score); }
Аnswer:
36 50 46 42
Short Answer Type Question-II
Question 1:
Find the output of the following program :
#include<iostream.h> void in(int x,int y,int &z) { x+=y; y--; z*=(x-y); } void out(int z,int y,int &x) { x*=y; y++; z/=(x+y); } void main() { int a=20, b=30, c=10; out(a,c,b); cout<<a<<"#"<<b<<"#"<<c<<"#"<<endl; in(b,c, a) ; cout<<a<<"®"<<b<<"@"<<c<<"@"<<endl; out(a,b,c); cout<<a<<"$"<<b<<"$"<<c<<"$"<<endl; }
Аnswer:
20#300#10#
620@300@10@
620$300$3000$
Long Answer Type Questions
Question 1:
Find the output of the following code:
#include<iostream.h> void main() { int *Striker; int Track[]={10,25,30,55}; Striker=Track; Track[1]+=30; cout<<"Striker"<<*Striker<<endl; *Striker=-10; Striker++; cout<<"Next@"<<*Striker<<endl; Striker+=2; cout<<"Last@"<<*Striker<<endl; cout<<"Rest To"<<*Track[0]<<endl; }
Аnswer:
Striker 10
Next@55
Last@55
Rest To 0
Question 2:
Find the output of the following code :
#include<iostream.h> void main() { int *Queen; Moves[]={ll,22,33,44}; Queen=Moves; Moves[2]+=22; cout<<"Queen@"<<*Queen<<endl; *Queen-=ll; Queen+=2; cout<<”Now@"<<*Queen<<endl; Queen++; cout<<"Finally@"<<*Queen<<endl; cout<<"NewOrigin@"<<*Moves[0]<<endl; }
Аnswer:
Queen@11
Now@55
Finally@44
NewOrigin@0