You are on page 1of 19

TUTORIAL -6

AYUSH BUDANIA
ENROLL NO – 19115037

QUES(1)-
ANS-
#include<iostream>
using namespace std;
int main()
{
int n=55;
int*p=&n;
int*q;
cout<<sizeof(n)<<endl;
cout<<”n=”<<n<<endl;//valueofn
cout<<”*p=”<<*p<<endl;//dereferencingpointer
cout<<”&n(addressofn)=”<<&n<<endl;//addressofn
cout<<”p=”<<p<<endl;//
valueofpointerwhichisnothingbutaddressofn
cout<<”&p=(addressofpointervariable)”<<&p<<endl;//
addressofpointervariable
cout<<”&(*p)addressofdereferencedvariable”<<&*p<<en
dl<<endl;//addressof55addressofn q=&n;
cout<<”q=(addressofn)”<<q<<endl;//addresssofn
cout<<”*q=”<<*q<<endl;//valueofn
return 0;
}

QUES(2)-
ANS-
#include <iostream>

#include <string>

using namespace std;


int main () {

char name=’g’;

int anint=60;

double afloat=7.8;

cout << name << “, size of var is: “ << sizeof(name) << “,
size of ptr is: “ << sizeof(&name) << endl;

cout << anint << “, size of var is: “ << sizeof(anint) << “,
size of ptr is: “ << sizeof(&anint) << endl;

cout << afloat << “, size of var is: “ << sizeof(afloat) << “,
size of ptr is: “ << sizeof(&afloat) << endl;

return 0;
/*size of variable depends on data type and size of
pointer is same for all data types*/
}

(I) No
(II) No
(III) Yes

QUES(3)-
ANS-
#include<iostream>
using namespace std;
int*showaddress(int a[],int n,int x)
{
for(int i=0;i<n;i++)
{if(a[i]==x)
{
return &a[i];}
}
return NULL;}
int main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int n=sizeof(a)/sizeof(int);
int x;
cin>>x;
cout<<showaddress(a,n,x)<<endl;
return 0;
}

QUES(4)-
ANS-
#include<iostream>
using namespace std;
int main()
{
int firstvalue=10;
int secondvalue=34;
cout<<”first value :”<<firstvalue<<endl;
cout<<”second value :”<<secondvalue<<endl;
int*mypointer=&firstvalue;
*mypointer+=9;
mypointer=&secondvalue;
*mypointer-=18;
cout<<”after modifications –“<<endl;
cout<<”first value :”<<firstvalue<<”\nsecond
value :”<<secondvalue<<endl;
return 0;
}

QUES(5)-
ANS-
#include<iostream>
using namespace std;
void swapvalue(float*temp)
{cout<<*temp<<endl;
*temp=77.8;
cout<<*temp<<endl;
}
int main()
{float*p;
p=new float;
*p=66.78;
cout<<”BEFOREFUNCTIONCALL=”<<*p<<endl;
swapvalue(p);
cout<<”afterfunctioncall=”<<*p<<endl;
return 0;
}

QUES(6)-
ANS-
#include<iostream>
using namespace std;
int main()
{int a[3][3];
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cin>>a[i][j];}}
int*ptr=&a[0][0];
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cout<<*ptr<<endl;
cout<<ptr++<<endl;}}
return 0;
}

QUES(7)-
ANS-
#include<iostream>
using namespace std;
int main()
{double a[4]={1.2,3.6,4.6,89.9};
double*ptr=a;
for(int i=0;i<4;i++)
{cout<<ptr++<<endl;}
return 0;
}
QUES(8)-
ANS-
#include<iostream>
using namespace std;
int main()
{int a[6];
for(int i=0;i<6;i++)
{cin>>a[i];}
int*ptr=a;
for(int i=0;i<6;i++)
{cout<<*(ptr+i)<<” “;}
cout<<endl;
for(int i=0;i<6;i++)
{cout<<*(ptr+5-i)<<” “;}
cout<<endl;
for(int i=0;i<6;i++)
{if(i%2!=0)
{cout<<*(ptr+i)<<” “;};}
cout<<endl;
for(int i=0;i<6;i++)
{if(i%2==0)
{cout<<*(ptr+i)<<” “;};}
cout<<endl;
return 0;
}

QUES(9)-
ANS-
#include<iostream>
using namespace std;
void swap(float*p1,float*p2)
{float temp=*p1;
*p1=*p2;
*p2=temp;}
int main()
{float p1=10.10;
float p2=20.20;
float*p10=&p1;
float*p20=&p2;
cout<<*p10<<” “<<*p20<<endl;
swap(p10,p20);
cout<<*p10<<” “<<*p20<<endl;
return 0;}

QUES(10)-
ANS-
#include<iostream>
using namespace std;
int sum(int*ptr,int n)
{int c=0;
for(int i=0;i<10;i++)
{c+=*(ptr+i);}
return c;}
int main()
{int a[]={1,2,3,4,5,6,7,8,9,10};
int n=10;
int*ptr=a;
cout<<”the sum of elements is :”<<sum(ptr,n);
return 0;}

QUES(11)-
ANS-
#include<iostream>
using namespace std;
int main()
{int array[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cout<<array[i][j]<<” “;}
cout<<endl;}
int* ptr = array[0];
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cout<<*(ptr++)<<” “;}
cout<<endl;}
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cout<<&array[i][j]<<” “;}
cout<<endl;}
ptr = array[0];
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{cout<<ptr++<<” “;}
cout<<endl;}
return 0;
}

QUES(12)-
ANS-
#include<iostream>
using namespace std;
int main()
{int*marksarray=new int[4];
for(int i=0;i<4;i++)
{cin>>marksarray[i];}
for(int i=0;i<4;i++)
{cout<<marksarray[i]<<” “;}
cout<<endl;
int*marksarrayA=new int[8];
for(int i=0;i<4;i++)
{marksarrayA[i]=marksarray[i];}
delete[]marksarray;
for(int i=4;i<8;i++)
{cin>>marksarrayA[i];}
for(int i=0;i<8;i++)
{cout<<marksarrayA[i]<<” “;}
return 0;}

QUES(13)-
ANS-
#include<iostream>
using namespace std;
int append(int a[],int k)
{int j;
while(1)
{cout<<"To exit the program press 1 and to continue
press any other number "<<endl;
cin>>j;
if(j==1)
break;
cout<<endl;
k*=2;
cout<<"Enter the next elements"<<endl;
for(int i=k/2;i<k;i++)
{cin>>a[i];}}
return k;}
void display(int a[], int k)
{cout<<endl;
for(int i=0;i<k;i++)
{cout<<a[i]<<endl;}}
int main()
{int *array;
array = new int[4];
cout<<"enter the first four elements of the array"<<endl;
for(int i=0;i<4;i++)
cin>>array[i];
int b=append(array,4);
display(array,b);
return 0;}

QUES(14)-
ANS-
#include<iostream>
using namespace std;
double sum(double*a,int p)
{if(p<=0)
{return 0;}
return(a[p-1]+sum(a,p-1));}
int main()
{int n;
cin>>n;
double*ptr=new double[n];
for(int i=0;i<n;i++)
{cin>>ptr[i];}
cout<<sum(ptr,n);
return 0;}

QUES(15)-
ANS-
#include <iostream>
#include <string>
using namespace std;
int main()
{int calcarea(int x,int y);
int(*ptr1)(int x,int y);
ptr1=&calcarea;
char printmyname(string s);
char(*ptr2)(string s);
ptr2=&printmyname;
int randomfunc(float x,double y,int z);
int(*ptr3)(float x,double y,int z);
ptr3=&randomfunc;
return 0;}

QUES(16)-
ANS-
#include <iostream>
using namespace std;
int square(int k)
{if(k%2==0){return k*k;}
else return 0;}
int cube(int k)
{if(k%2==0){return k*k*k;}
else return 0;}
int sum(int (*ptr)(int k),int q)
{int s=0;
for(int i=1;i<=q;i++){s+=(*ptr)(i);}
return s;}
int main()
{int a;
cin>>a;
cout<<sum(square,a)<<endl;
int b;
cin>>b;
cout<<sum(cube,b)<<endl;
return 0;}

You might also like