Wednesday, July 15, 2015

WAP to perform Insertion Sort for an integer array in Java, BlueJ.

QUESTION:
Wrtie a program to perform insertion sort for an integer array in Java, BlueJ.

CODE:
import java.io.*;
class InsertionSort
 {

public static void main()throws IOException 
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int num;
System.out.print("Enter the number of elements to be sorted: ");
num=Integer.parseInt(br.readLine());
int input[]=new int[num];
System.out.println("Enter the elements to be sorted: ");
for(int i=0;i<num;i++)
{
input[i]=Integer.parseInt(br.readLine());
        }
sort(input);
}
public static void display(int[] input) 
{
System.out.println("\nThe elements of the sorted array: ");
for (int i = 0; i < input.length; i++) 
{
System.out.print(input[i]+"\t");
}
System.out.println("\n");
}
public static void sort(int array[]) 
{
int n = array.length;
for (int j = 1; j < n; j++) 
{
int key = array[j];
int i = j-1;
while ( (i > -1) && ( array [i] > key ) ) 
{
array [i+1] = array [i];
i--;
}
array[i+1] = key;
}
display(array);
}
}




WAP to perform Selection Sort for an integer array in Java, BlueJ.

QUESTION:
Write a program to perform Selection Sort for an integer array in Java, BlueJ.

CODE:
import java.io.*;
public class SelectionSort
 {
public static int[] sort(int arr[])
{
   for (int i = 0; i < arr.length - 1; i++)
   {
       int index = i;
       for (int j = i + 1; j < arr.length; j++)
       {
           if (arr[j] < arr[index])
           {
               index = j;
           }
       }
       int smallerNumber = arr[index];  
       arr[index] = arr[i];
       arr[i] = smallerNumber;
   }
   return arr;
}
public static void main()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   int num;
System.out.println("Enter the number of elements to be sorted: ");
num=Integer.parseInt(br.readLine());
int arr1[]=new int[num];
System.out.println("Enter the array to be sorted: ");
for(int i=0;i<arr1.length;i++)
arr1[i]=Integer.parseInt(br.readLine());
int[] arr2 = sort(arr1);
  System.out.println("\nThe elements of the sorted array: "); 
for(int i:arr2)


{
System.out.print(i+"\t");
}
     }

}




Tuesday, November 26, 2013

WAP to find sum of digits using recursion in BlueJ, Java

QUESTION:
Write a program to find the sum of digits of a number using recursion.

CODE:
import java.io.*;
class recursion_sum_of_digits
  { //Start of class
    public int sum_of_digits(int num) 
     { 
      int rem=0;
      if(num==0)
       { //When number is 0, sum of digits is 0
       return(0);
       }
      else 
       {
      rem=num%10; //Extracting 1st digit of number
      return(rem+sum_of_digits(num/10));
       }
     }
     public static void main()throws IOException
    { //Start of main() function
      BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
      recursion_sum_of_digits obj=new recursion_sum_of_digits();
      System.out.println("Enter the number : ");
      int number=Integer.parseInt(in.readLine());
      int sum=obj.sum_of_digits(number);
      System.out.println("The sum of digits in "+number+" is : "+sum+"\n");
    } //End of main() function
  } //End of class

WAP to count the number of digits in a number using recursion

QUESTION:
Write a program to count the number of digits in a number using recursion 

CODE:
class CountingDigits
  { // Start of class
    public int count(int num) 
     { 
       int c=0;  
       if(num==0) 
        { //If the number is 0, then number of digits in number is 0
        return(0); 
        }
       else 
        {
        ++c;
        return(c+count(num/10)); // Recursive call 
        }
     }
  } //End of class


WAP with class Date in BlueJ, Java

QUESTION
Write a program to perform the following functions:  
1. To check whether year entered by user is leap year or not.
2. To check whether a date entered by user is valid or not dd-mm-yyyy
3. To display the future date after 'n' days.

CODE:
import java.io.*; //Header file to import java.io package     

 class Date
  {  //Start of class
      int dd,mm,yy; // variables to store the date,moth and year
      Date()
       { //Default constructor to assign values to zero
        dd=0;
        mm=0;
        yy=0;
       }
      void input()throws IOException
       { //To input the date,month and year
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
           System.out.println("Enter day :");
           dd=Integer.parseInt(br.readLine());
           System.out.println("Enter month :");
           mm=Integer.parseInt(br.readLine());
           System.out.println("Enter year :");
           yy=Integer.parseInt(br.readLine());
       }
      int leap(int y)
       { // Function t check whether year entered is leap year or not
           if(y%100!=0)
            { 
            if(y%4==0)
            return(1); 
            else 
            return(0);
            }
           if(y%400==0) //Condition for millennium year
            return(1);
           else 
            return(0);
        }
      int check(Date d)
       { // Check whether the date entered is valid or not
       if(d.mm>=1 && d.mm<=12)
       {
       if(d.mm==2)
        {
         int y1=leap(d.yy);
         if(y1==1)
          {
              if(d.dd>=1 && d.dd<=29)
               return(1);
               else 
               return(0);
           }
         else 
          {
              if(d.dd>=1 && d.dd<=28)
               return(1);
               else
               return(0);
               
           }
        }
       if(d.mm>=1 && d.mm<=7)
        {
          if(d.mm%2!=0)
           {
            if(d.dd>=1 && d.dd<=31) 
            return(1);
            else
            return(0);
           }
          else 
           {
            if(d.dd>=1 && d.dd<=30)
            return(1);
            else
            return(0);
           }
        }
       if(d.mm>=8 && d.mm <=12)
        {
          if(d.mm%2==0)
           {
            if(d.dd>=1 && d.dd<=31) 
            return(1);
            else
            return(0);
           }
          else 
           {
            if(d.dd>=1 && d.dd<=30)
            return(1);
            else
            return(0);
           }
        }  
        else
        return(0); 
       }
       else
        return(0);
       }
     Date futureDate(int n)
      { // To calculate the date after 'n' days
      int months[]={0,31,28,31,30,31,30,31,31,30,31,30,31};  
      System.out.println(dd+"/"+mm+"/"+yy);
      while((months[mm]-dd) <= n)
       {
          n=n-(months[mm]-dd);
          dd=0;
          mm++;
          if(mm>12) 
           {
             mm=1;
             yy++;
           }
        }
          System.out.println(dd);
          dd+=n;
          Date obj=new Date();
          obj.dd=dd;
          obj.mm=mm;
          obj.yy=yy;
          return(obj);
      }
      
     public static void main(String Args[])throws IOException
       { // Start of main function
       BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
       Date ob=new Date(); // Creating object of class
       ob.input(); // Input the date 
       int res1=ob.leap(ob.yy); // Returns whether year entered is leap or not
       int res2=ob.check(ob); 
       if(res2==0)
        { // Returns 0 when date is invalid
        System.out.println("Invalid Date");
        }
       else
        {
        System.out.println("Enter no. of days:");
        int num=Integer.parseInt(in.readLine());
        Date ob1=ob.futureDate(num); 
        System.out.println(ob1.dd+"/"+ob1.mm+"/"+ob1.yy); //Displays date after 'n' days
        } 
       System.out.println("Leap year '1' or '0' :"+res1);
       System.out.println("Valid date '1' or '0':"+res2);
     } // End of main function
} //End of class


                       
               
       

Sunday, November 24, 2013

WAP to perform number system conversion in BlueJ, Java

QUESTION:Write a program to convert a decimal number to its binary equivalent and convert a binary number to its decimal equivalent in the number system.

CODE:
import java.io.*;
class Binary
  {
      String n1,n2;
      Binary()
       {
           n1="";
           n2="";
       }
      int check(String n)
       {
          int flag=0; 
          for(int i=0;i<n.length();i++)
           {
    if(n.charAt(i)=='1' || n.charAt(i)=='0' || n.charAt(i)=='.');
               else
                {
                    flag=1;
                    break;
                }
            }
          if(flag==1)
           return(0);
          else     
           return(1);
        }
      void input()throws IOException
         {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter binary number in string1:");
        n1=br.readLine();
        if(check(n1)==1)
         {
        System.out.println("Enter binary number in string2:");
        n2=br.readLine();
        if(check(n2)==0)
         {
         System.out.println("Not a binary number!");
         System.exit(0);
         }
         }
        else 
         {
         System.out.println("Not a binary number!");
         System.exit(0);
         }
       }
      String bin_to_dec(String h)
       {
        int p=-1,q=0;
        double sum1=0,sum2=0;
        String sum_dec="";
        int index=h.indexOf('.');
        for(int j=index-1;j>=0;j--)
         {
         char ch1=h.charAt(j);
         int convert1=ch1-48;
         sum1+=convert1*Math.pow(2,q);
         q++;
        }
        for(int i=index+1;i<h.length();i++)
         {
         char ch2=h.charAt(i);
         int convert2=ch2-48;
         double decimal=convert2*Math.pow(2,p);
         p--;
         sum2+=decimal;
         }
        sum_dec+=sum1+sum2; 
        return(sum_dec);
       }
      String dec_to_bin(String h)
       {
        double convert=Double.parseDouble(h); 
        int integer=(int)convert;
        double decimal=convert-integer;
        String sum_bin="";
        String sum3="",sum4="";
        int integer_dec=0;
        int count=0;
        while(integer!=0)
         {
         int rem=integer%2;
         integer=integer/2;
         sum3=""+rem+sum3;
         }
        while(decimal!=0)
         {
         decimal*=2;
         integer_dec=(int)decimal;
         sum4+=integer_dec;
         decimal-=integer_dec;
         count++;
         if(count==5)
          {
          break;
          }
         }
        sum_bin+=sum3+"."+sum4;
        return(sum_bin);
       }
    }