Programming Questions

Q:

How would you use qsort() function to sort an array of structures?

Answer

#include "string.h"


#include "stdlib.h"


struct stud


{


       int rollno;


       int marks;


       char name[30];


};


int sort_m (struct stud *, struct stud *);


int sort_name (struct stud *, struct stud *);


int sort_marks (struct stud *, struct stud *);


 


main()


{


static struct stud ss[] = {


                                            { 15, 96, "Akshay" },


                                            { 2, 97, "Madhuri" },


                                            { 8, 85, "Aishvarya" },


                                            { 10, 80, "Sushmita" }


                                   };


int x,w;


clrscr();


w = sizeof (struct stud);


 


printf ('\nIn order of roll numbers:");


qsort (ss, 4, w, sort_rn);


for(x=0; x<4;x++)


     printf ("\n%d%s%d", ss[x].rollno, ss[x].name,ss[x].marks);


 


printf("\n\nIn order of names:");


qsort(ss, 4, sort_name);


 


for (x=0; x<4;x++)


      printf("\n%d%s%d",ss[x].rollno, ss[x].name,ss[x].marks);


printf("\n\nIn order of marks:");


qsort(ss,4,w,sort_marks);


 


for (x=0;x<4;x++)


      printf ("\n%d%s%d",ss[x].rollno,ss[x].name,ss[x].marks);


}


int sort_rn (struct stud *t1, struct stud *t2)


{


     return (t1->rollno-t2->rollno);


}


 


int sort_name (struct stud *t1, struct stud *t2)


{


     return (strcmp(t1->name,t2->name));


}


int sort_marks (struct stud *t1, struct stud *t2)


{


     return (t2->marks-t1->marks);


}


 


 


 

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

0 4899
Q:

What is the difference between malloc() and calloc() functions?

Answer

As against malloc(), calloc() needs two arguments, the number of elements  to be allocated and the size of each element. For example,


 p = (int *) calloc (10, sizeof (int));


would allocate space for a 10- integer array. Additionally, calloc() would also set each of this element with a value 0.


Thus the above call to calloc() is equivalent to:


p = (int *) malloc (10 * sizeof (int));


memset (p, 0, 10 * sizeof( int ));

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

0 4778
Q:

How would you check whether the contents of two structure variables are same or not?

Answer

struct emp


{


     char n[20];


      int age;


};


main()


{


    struct emp e1 = {"Dravid", 23};


   struct emp e2;


   scanf ("%s %d",e2.n, & e2.age);


   if( structcmp (e1,e2) ==0)


        printf ("The structures are equal");


   else


         printf ("The structures are unequal");


}


structcmp ( struct emp x, struct emp y)


{


     if (strcmp (x.n,y.n) ==0)


           if (x.age == y.age)


            return (0);


            return (1);


}


In short, if you nee to compare two structures, you'll have to write your own function to do so which carries out the comparison field by field.

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

0 4677
Q:

How many times the following program would print 'Jamboree'?

main()

{

     printf ( "\nJamboree");

     main ();

}

Answer

Till the stack doesn't overflow

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

3 4644
Q:

What would be the output of the following program?

main()

{

        char huge * near * far *ptr1;

        char near * far * huge *ptr2;

        char far * huge * near *ptr3;

         printf ("%d%d%d", sizeof (ptr1), sizeof (ptr2), sizeof (ptr3));

}

Answer

4  4  2

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

1 4517
Q:

If I use the following printf() to print a long int why I am not warned about the type mismatch?

printf ("%d",num );

Answer

When a function accepts a variable number of arguments , its prototype cannot provide any information about the number of arguments and type of those variable arguments. Hence the compiler cannot warn about the mismatches. The programmer must make sure that arguments match or must manually insert explicit typecast.

Report Error

View answer Workspace Report Error Discuss

Subject: Programming

0 4314
Q:

Which of the following is true?

A) It is appropriate to use assertions to validate arguments to methods marked public B) It is appropriate to catch and handle assertion errors
C) It is NOT appropriate to use assertions to validate command-line arguments D) None
 
Answer & Explanation Answer: C) It is NOT appropriate to use assertions to validate command-line arguments

Explanation:

A is incorrect. It is acceptable to use assertions to test the arguments of private methods.

 

B is incorrect. While assertion errors can be caught, Sun discourages you from doing so.

Report Error

View Answer Report Error Discuss

Filed Under: Programming

0 4271
Q:

Methods declared as what cannot be overriden?

A) Transcient B) Abstract
C) Final D) Super
 
Answer & Explanation Answer: C) Final

Explanation:

Once a method declared as Final cannot be  overriden

Report Error

View Answer Report Error Discuss

Filed Under: Programming

0 4147