# AMI

Logical Reasoning:
1. 3 types of chickens : Baby chickens cost 5 cents, hen chickens cost 3 dollares, rooster chickens cost 5 dollars. Buy 100 chickens for 100 dollars.
How many will you have from each?

2. Calculate : (x-a)(x-b)(x-c)....(x-z)?

3. What is the day after 4 days after 2 days before the day before tomorrow?

4. 2 trains each of length 1 mile enter into 2 tunnels of lenth 1 mile and 2 miles apart. speed if trains are 5 and 10 miles/hr. Give the postion as viewed by a                 helicopter when the trains meet?C h e t a na S

5. A says I'm not guilty
B says C is not guilty
C says A is not guilty
If all above are true. (i) Can we say anyone is guilty/innocent?    (ii)Who is most likely to be guilty?

6. 18 story building - Accountant's office is 5 times the lawyer's office. Architects office 2 floors up then he is halfway between Dentist's & Accountant's office.     Architects office halfway down means between Dentist's and Lawyer's office. Give the order?

7. How many tennis matches are to be arranged to conduct a tournament with 213 players?

8. In a family 7 children don't eat spinach, 6 don't eat carrot, 5 don't eat beans, 4 don't eat spinach & carrots, 3 don't eat carrot & beans, 2 don't eat beans & spinach. 1 doesn't eat all 3. Find the no. of children.

C/C++ :

a. void main()
{
char a[6] = "INDIA";
while(*a)
{
printf("%c",*a);
a++;
}
}
1. india           2. I N D I A             3. no output          4. error         5.Null

b. protected derivation

c. int m = 10;
main()
{
int m = 20;
{int m = 30;}
printf("%d %d",m,::m);
1. 10 10         2. 10 20             3. 20 10              4. 20 30         5. 30 20           6. None

d. inline function is used to
1. reduce program size
2. reduce memory size

e. void func(float newtotal)
{ newtotal = newtotal-2;
}
main()
{
float tot = 100.34;
float sum = tot;
sum++;
func(sum);
cout< }
1. 100.34              2. 99.34             3. 101.34          4. 102.34          5. None

f. unsigned char snapnib(unsigned char misc)
{
int aloha, hamalo;
hamalo = aloha = misc;
misc = (hamalo << 4)+((aloha & 0x0f)>>4);
return(misc);
}
main()
{
int getinp;
unsig char getmisc;
scanf("%x",&getinp);
getmisc = snapnib(getinp & 0xff);
printf("%x",getmisc);
}
1. Change line 4 to misc = (hamalo >> 4)+((aloha & oxof)<<4);
2. remove the 5
3. Change line 4 to misc = (hamalo >> 4)+((aloha & oxfo)<<4);
4. Change line 11 to getmisc = snapnib(getinp);
5. Nothing

g. main()
{
int getinp = 6;
while(--getinp)
{
printf("%d",getinp);
if(getinp++ != 3);
else
break;
if(getinp-- != 5)
continue;
else
getinp = getinp - 2;
}
1. 5421 2. 5420 3. 541 4. 6543 5. 5410

h. unsigned char inn[2] = "5";
int i,j = 0;
sscanf(inn,"%d",&i);
while(i)
{
i = i - 1;
j++;
printf("%d",++j);
}
1. 14 2. 12 3. 24 4. 35 5. none

i. char *fn(int num)
{
char a[] = "Amen";
return(&a[num]);
}
main()
{
int i;
char *prechar;
scanf("%d",&i);
(input is 12)
prechar = fn(i);
printf("%c",*prechar);
}
1. a bus
2. give string "Amen" as global
3. use return(a[num]) instead of return(&a[num])
4. give main before fn

j. unsigned char u = 32767;
unsigned char y = 32768;
u = u + y;
printf("%d",(signed char)u);
1. 65535              2. -65535                3. -1              4. 1            5. none

k. *name = "ANYTHING";
*foo = "ALRIGHT";
*name1 = "WRONG";
strcat(name,name1);
printf("%s %s
",name,foo);
return(0);
1. ANYTHING WRONG? WRONG?
2. ANYTHING
3. ANYTHING WRONG? ALRIGHT
4. ERROR
5. NONE

Assembly :
i) swap 2 variables without temp variables (use XOR, OR, AND, NOT)