Sponsor Area

Structured Query Language

Question
CBSEENCO12011570

Write the definition of a function AddUp(int Arr[], int N) in C++, in which all even positions (i.e. 0,2,4,...) of the array should be added with the content of the element in the next position and odd positions (i.e. 1,3,5,...) elements should be incremented by 10.

Example: if the array Arr contains

23 30 45 10 15 25

Then the array should become

53 40 55 20 40 35

NOTE:
● The function should only alter the content in the same array.
● The function should not copy the altered content in another array.
● The function should not display the altered content of the array.
● Assuming, the Number of elements in the array are Even.

Solution

void AddUp(int Arr[], int N)
{
	for(int i=0; i<N; i++)
	{
		if(i%2==0){
			Arr[i]=Arr[i]+Arr[i+1];
		}else{
			Arr[i]=Arr[i]+10;
		}
	}
}

Question
CBSEENCO12011571

Write a definition for a function SUMMIDCOL(int MATRIX[][10],int N,int M) in C++, which finds the sum of the middle column’s elements of the MATRIX (Assuming N represents a number of rows and M represents number of columns, which is an odd integer).
Example: if the content of array MATRIX having N as 5 and M as 3 is as follows:

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

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

 

Solution

void SUMMIDCOL(int MATRIX[ ][10], int N, int M)
{
	int j, SUM=0;
	j=M/2;
	for(int i=0; i<N;i++){
		SUM += MATRIX[i][j];
		cout<<'SUM of Middle Column :'<<SUM;
	}
}

Question
CBSEENCO12011572

ARR[15][20] is a two-dimensional array, which is stored in the memory along the row with each of its elements occupying 4 bytes. Find the address of the element ARR[5][15], if the element ARR[10][5] is stored at the memory location 35000.

Solution

ROW MAJOR:
Loc(ARR[I][J]) =BaseAddress + W [( I – LBR)*C + (J – LBC)]
(where W=size of each element = 4 bytes, R=Number of
Rows=15, C=Number of Columns=20 )
Assuming LBR = LBC = 0
LOC(ARR[10][5])
35000 = BaseAddress + W(I*C + J)
35000 = BaseAddress + 4(10*20 + 5)
35000 = BaseAddress + 4(205)
35000 = BaseAddress + 820
BaseAddress = 35000 - 820
                   = 34180
LOC(ARR[5][15])= BaseAddress + W(I*C + J)
                                  = 34180 + 4(100 + 15)
                                  = 34180 + 4 x 115
                                  = 34180 + 460
                                  = 34640

Question
CBSEENCO12011623

Write function definition for WORD4CHAR() in C++ to read the content of a text file FUN.TXT, and display all those words, which has four characters in it.
Example:
If the content of the file fun.TXT is as follows:

When I was a small child, I used to play in the garden
with my grand mom. Those days were amazingly funful
and I remember all the moments of that time

The function WORD4CHAR() should display the following:

When used play with days were that time

Solution

void WORD4CHAR()
{
	ifstream Fil;
	Fil.open(FUN.TXT);
	char W[20];
	Fil>>W;
	while(!Fil.eof())
	{
		if ((strlen(W)) == 4){
			cout<<W<< ;
		}
		Fil>>W;
	}
	Fil.close();
}