i2 Technologies Campus Placement Paper (Technical)

Q1.Convert 0.9375 to binary

a) 0.0111

b) 0.1011

c) 0.1111

d) none

Ans. (c)

Q2.( 1a00 * 10b )/ 1010 = 100

a) a=0, b=0

b)a=0, b=1

c) none

Ans. (b)

Q3. In 32 bit memory machine 24 bits for mantissa and 8 bits for exponent. To increase the range of floating point.

a) more than 32 bit is to be there.

b) increase 1 bit for mantissa and decrease 1 bit for exponent

c) increase 1 bit for exponent and decrease one bit for mantissa

Q4..In C, "X ? Y : Z " is equal to

a) if (X==0) Y ;else Z

b) if (X!=0) Y ;else Z

c) if (X==0) Y ; Z

Ans. (b)

Q5. From the following program

foo()

int foo(int a, int b)

{

if (a&b) return 1;

return 0;

}

a) if either a or b are zero returns always 0

b) if both a & b are non zero returns always 1

c) if both a and b are negative returns 0

Q6. The following function gives some error. What changes have to be made

void ( int a,int b)

{

int t; t=a; a=b; b=t;

}

a) define void as int and write return t

b) change everywhere a to *a and b to *b

Q7. Which of the following is incorrect

a) if a and b are defined as int arrays then (a==b) can never be true

b) parameters are passed to functions only by values

c) defining functions in nested loops

Q8. include

void swap(int*,int*);

main()

{

int arr[8]={36,8,97,0,161,164,3,9}

for (int i=0; i<7; i++)

{

for (int j=i+1; j<8;j++)

if(arr[i]

}

}

void swap(int*x,int*y)

{

int temp; static int cnt=0;

temp= *x;

*x=*y;

*y=temp;

cnt++;

}

What is cnt equal to

a) 7

b) 15

c) 1

d) none of these

Q9. int main()

{

FILE *fp;

fp=fopen("test.dat","w");

fprintf(fp,'hello\n");

fclose(fp);

fp=fopen ("test.dat","w");

fprintf (fp, "world");

fclose(fp);

return 0;

}

If text.dat file is already present after compiling and execution how many bytes does the file occupy ?

a) 0 bytes

b) 5 bytes

c) 11 bytes

d) data is insufficient

Q10. f1(int*x,intflag)

int *y;

*y=*x+3;

switch(flag)

{

case 0:

*x=*y+1;

break;

case 1:

*x=*y;

break;

case 2:

*x=*y-1;

break;

}

return(*y)

main()

{

*x=5;

i=f1(x,0); j=f1(x,1);

printf("%d %d %d ",i,j,*x);

}

What is the output?

a) 8 8 8

b) 5 8 8

c) 8 5 8

d) none of these

i2 Technologies

This is given for 20 marks......

Simply try to solve it.

Write A Program In C++(Or in C) for the following Data--20 MIN.

A school Trust That manages many schools in a city has decided to merge two of its branches by moving all the students of different standards and divisions from both the branches to their newly acquired complex.How ever,when moving,it is ensured that every student's standard and division remains same. Thus a student of 7F (standard 7,division F)from one of the branches will continue to be in 7F in the new school complex. Given that the student strength of both the branches in the form of a list of division and strength pairs terminated by a \$ sign as shown in the example as follows.....

1A 30 1B 28 2A 35

2B 38 2C 36 2D 34

3A 32 3B 34 ---\$

1A 25 1B 24 1C 26

1D 25 1E 22 2A 40 2B 42

3A 35........

\$

Write a program to read the above data and output the student  strength of the new larger school in the same format.

1) Must not assume any limit on the no. of divisions or classes in schools.

2) Must not output divisions with 0 strength.

3) Must use dynamic structures.