Lab 7  Solutions,  ESC101, 2004-2005 Semester-II


1.

class sort_strings
{

    static void sort(String[] arr)
    {
        String temp;
       
        for(int i=0; i<arr.length-1; i++)
            for(int j=i+1; j<arr.length; j++){
                if(arr[i].compareTo(arr[j]) > 0){
                    temp   = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
           
    }   
   
    public static void main(String args[])
    {
        String[] arr = {"kamal", "akhil", "ravi", "bharat"};

        System.out.println("The array before sorting is:");

        for(int i=0; i<arr.length; i++)
            System.out.println(arr[i]);

        System.out.println();
       
        sort(arr);

        System.out.println("The array after sorting is:");

        for(int i=0; i<arr.length; i++)
            System.out.println(arr[i]);

        System.out.println();
       
    }
}   


2.

class duplicate_remove
{

    static int[] dup_rem(int[] arr)
    {
        boolean found = false;
        int[] narr = new int[10];
        int len=0;

        narr[0] = arr[0];
        len = 1;
       
        for(int i=1; i<arr.length; i++){
            for(int j=0; j<narr.length; j++){
                if(arr[i] == narr[j]){
                    found = true;
                    break;
                }
            }
            if(!found)
                narr[len++] = arr[i];

            found = false;
        }

         return narr;

    }
   
 
    public static void main(String args[])
    {
        int[] arr = {4, 7, 11, 4, 9, 5, 11, 7, 3, 5};
        int[] new_arr = new int[20];

        System.out.println("Array before removing Duplicates:");

       

        for(int i=0; i<arr.length; i++)
            System.out.println(arr[i]);
       
        System.out.println();

        new_arr = dup_rem(arr);

        System.out.println("Array after removing Duplicates:");


        for(int i=1; i<new_arr.length; i++){
       
            if(new_arr[i] == new_arr[i-1])
                break;
               
            System.out.println(new_arr[i-1]);
        }   
       
        System.out.println();
    }
}   


3.

class magic_square
{
    static int n=3;
   
    static int down(int i)
    {
        return (i+1)%n;
    }

    static int right(int i)
    {
        return (i+1)%n;
    }   

    static int pos(int i, int j)
    {
        return (i*n + j);
    }   
   
    public static void main(String args[])
    {
        int pre_x, pre_y, cur_x, cur_y, i;
        int[] arr = new int[n*n];
   
       
        arr[pos(n-1, n/2)] = 1;
        pre_x = n-1;
        pre_y = n/2;

        for(i=2; i<= n*n; i++){
       
            cur_x = down(pre_x);
            cur_y = right(pre_y);

            if( (arr[pos(cur_x, cur_y)] != 0) || ( (pre_x == n-1) && (pre_y == n-1) )){
                cur_y = pre_y;
                cur_x = pre_x - 1;
            }   

            arr[pos(cur_x, cur_y)] = i;

            pre_x = cur_x;
            pre_y = cur_y;
        }   
               
        for(i=0; i<arr.length; i++){
            System.out.print(arr[i]+"  ");
            if( ((i+1)%n) == 0 )
                System.out.println();
        }       
           
    }
}