-->

Object Oriented Programming

Question
CBSEENCO12011523

Write the definition of a function Reverse(int Arr[], int N) in C++, which should reverse the entire content of the array Arr having N elements, without using any other array.

Example: if the array Arr contains

13 10 15 20 5

Then the array should become

5 20 15 10 13

NOTE:

  • The function should only rearrange the content of the array.
  • The function should not copy the reversed content in another array.
  • The function should not display the content of the array.

Solution
void printarray(int arr[], int count)
{
	for(int i = 0; i < count; ++i)
		cout<<arr[i]<<' ';
	cout<<'\n';
}

void reverse(int arr[], int count)
{
	int temp;
	for (int i = 0; i < count/2; ++i)
	{
		temp = arr[i];
		arr[i] = arr[count-i-1];
		arr[count-i-1] = temp;
	}
}
 
int main ()
{  
	clrscr();
	const int SIZE = 10;
	int arr [SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	cout<<'Input Array\n';
	printarray(arr, SIZE);
	reverse(arr, SIZE);
	cout<<'Reverse Array\n';
	printarray(arr, SIZE);
	getch();
}

Some More Questions From Object Oriented Programming Chapter

Answer the questions (i) to (iv) based on the following:

class One
{
	int A1;
protected:
	float A2;
public:
	One();
	void Get1(); void Show1();
};

class Two :
private One
{
	int B1;
protected:
	float B2;
public:
	Two();
	void Get2();
	void Show();
};

class Three : public Two
{
	int C1;
public:
	Three();
	void Get3();
	void Show();
};
void main()
{
Three T;		//Statement 1
_______;		//Statement 2
}

(i) Which type of Inheritance out of the following is illustrated in the above example?
-Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance.

(ii) Write the names of all the member functions, which are directly accessible by the
object T of class Three as declared in main() function.

(iii) Write Statement 2 to call function Show() of class Two from the object T of Class Three.

(iv) What will be the order of execution of the constructors, when the object T of
class Three is declared inside main()?

Write the definition of a function Reverse(int Arr[], int N) in C++, which should reverse the entire content of the array Arr having N elements, without using any other array.

Example: if the array Arr contains

13 10 15 20 5

Then the array should become

5 20 15 10 13

NOTE:

  • The function should only rearrange the content of the array.
  • The function should not copy the reversed content in another array.
  • The function should not display the content of the array.

Write a definition for a function ADDMIDROW(int MAT[][10], int R, int C) in C++, which finds sum of the middle row elements of the matrix MAT (Assuming C represents the number of Columns and R represents the number of rows, which is an odd integer).
For example, if the content of array MAT having R as 3 and C as 5 is as follows:

1 2 3 4 5
2 1 3 4 5
3 4 1 2 5

The function should calculate the sum and display the following:
Sum of Middle Row: 15

Differentiate between private and public members of a class in the context of Object Oriented Programming. Also, give a suitable example illustrating accessibility/non-accessibility of each using a class and an object in C++.

Observe the following C++ code and answer the questions (i) and (ii).
Note: Assume all necessary files are included.

class TEST
{
	long TCode;
	char TTitle[20];
	float Score;
public:
TEST()			//Member Function 1
{
	TCode=100;strcpy(TTitle,”FIRST Test”);Score=0;
}
TEST(TEST &T)      //Member Function 2
{
	TCode=E.TCode+1;
	strcpy(TTitle,T.TTitle);
	Score=T.Score;
}
};
void main()
{
_________________	//Statement 1
_________________	//Statement 2
}

(i) Which Object-Oriented Programming feature is illustrated by the Member Function 1 and Member Function 2 together in the class TEST?
(ii) Write Statement 1 and Statement 2 to execute Member Function 1 and Member Function 2 respectively.

Observe the following C++ code and answer the questions (i) and (ii). Assume all necessary files are included:

class FICTION
{
	long FCode;
	char FTitle[20];
	float FPrice;
public:
FICTION() //Member Function 1
{
	cout<<'Bought'<<endl;
	FCode=100;strcpy(FTitle,'Noname');FPrice=50;
}
FICTION(int C,char T[],float P) //Member Function 2
{
	FCode=C;
	strcpy(FTitle,T);
	FPrice=P;
}
void Increase(float P) //Member Function 3
{
	FPrice+=P;
}
void Show() //Member Function 4
{
	cout<<FCode<<':'<<FTitle<<':'<<FPrice<<endl;
}
~FICTION() //Member Function 5
{
	cout<<'Fiction removed!'<<end1;
}
};
void main()	 //Line 1
{               //Line 2
FICTION F1,F2(101,'Dare',75); 	//Line 3
for (int I=0;I<4;I++) 		//Line 4
{    //Line 5
	F1.Increase(20);F2.Increase(15); 	//Line 6
	F1.Show();F2.Show();  	//Line 7
}		//Line 8
}		//Line 9

Which specific concept of object-oriented programming out of the following is illustrated by Member Function 1 and Member Function 2 combined together?

  1. Data Encapsulation
  2. Data Hiding
  3. Polymorphism
  4. Inheritance

Observe the following C++ code and answer the questions (i) and (ii). Assume all necessary files are included:

class FICTION
{
	long FCode;
	char FTitle[20];
	float FPrice;
public:
FICTION()         //Member Function 1
{
	cout<<'Bought'<<endl;
	FCode=100;strcpy(FTitle,'Noname');FPrice=50;
}
FICTION(int C,char T[],float P) //Member Function 2
{
	FCode=C;
	strcpy(FTitle,T);
	FPrice=P;
}
void Increase(float P) //Member Function 3
{
	FPrice+=P;
}
void Show() //Member Function 4
{
	cout<<FCode<<':'<<FTitle<<':'<<FPrice<<endl;
}
~FICTION() //Member Function 5
{
	cout<<'Fiction removed!'<<end1;
}
};
void main() //Line 1
{               //Line 2
FICTION F1,F2(101,'Dare',75); //Line 3
for (int I=0;I<4;I++)                //Line 4
{                                             //Line 5
F1.Increase(20);F2.Increase(15); //Line 6
F1.Show();F2.Show();     //Line 7
}     //Line 8
}      //Line 9

How many times the message 'Fiction removed!' will be displayed after executing the above C++ code? Out of Line 1 to Line 9, which line is responsible to display the message 'Fiction removed!'?

Write the definition of a class METROPOLIS in C++ with the following description:

Private Members

-Mcode       //Data member for Code (an integer)
-MName    //Data member for Name (a string)
-MPop      //Data member for Population (a long int)
-Area      //Data member for Area Coverage (a float)
-PopDens //Data member for Population Density (a float)
CalDen()//A member function to calculate
           //Density as PopDens/Area

Public Members

-Enter() //A function to allow user to enter values of
            //Mcode,MName,MPop,Area and call CalDen()
           //function
-ViewALL()//A function to display all the data members
               //also display a message ”Highly Populated Area”
             //if the Density is more than 12000