Structure Query Language, C programming, Java, Servlet, Jsp, Unix

Showing posts with label mean median mode logic. statistical mathematics. Show all posts
Showing posts with label mean median mode logic. statistical mathematics. Show all posts

Sunday, 15 July 2012

Define a class called Statistical Data which manages a number of readings of type int. Provide a method to set Data available in the form of an array, a method add to individually add data of type int, a method to reset the entire data and methods to return mean, median, mode, variance, standard deviation, percentile, quartile, inter quartile range


[ Statistical_data.java ]
import java.io.*;
class Statistical_data
{
   int data[];
   Statistical_data()   
{
    data=new int[1];
   }
   void setdata(int value[]) 
{
    data=new int[value.length];      
    for(int i=0;i<data.length;i++)         
{
     data[i]=value[i];
    }
   }
   int add()  
{
    int sum=0,i;
    for(i=0;i<data.length;i++)        
{
     sum=sum+data[i];
    }
    return sum;
   }
   void reset()    
{
    for(int i=0;i<data.length;i++)         
{
     data[i]=0;
    }
    data=new int[1];
   }
   double mean()   
{
    return (double)this.add()/data.length;
   }
   double median() 
{
    int size,n=0;
    double median;
    size=data.length;
    this.sort();
   
    if (size%2 == 0)         
{        
     n=size/2 - 1 ;
     median=((double)data[n] + data[n+1])/2;
    }
    else      
{
     System.out.println("ODD" + size);
     n=(size)/2;
     median=data[n];
    }        
    return median;
   }
   double mode()  
{
    double mode;
    mode= ( (double)3*median() ) - ( 2*mean() );
    return mode;
   }
   double variance()    
{
    int size=data.length;
    double mean=this.mean(),sum=0;
    for(int i=0;i<size;i++)
    {
     sum=sum+Math.pow((data[i]-mean),2);
    }
    return sum/(size-1);
   }
   double standard_deviation()    
{
    return Math.sqrt(this.variance());
   }
   double percentile(int no)
{
    double perc=0;
    int size=data.length, temp;
   
    if(no<0 && no>100)      
{   
     System.out.println("Percentile should be more than 0 and less than 100..");
     perc=-1;
    }
    else     
{
     temp=(no*size)/100;
     if( temp == (double)(no*size)/100)             
{
          perc=(double)(data[temp]+data[temp-1])/2;
     }
     else          
{
          perc=(double)data[temp];
     }
    }
    return perc;
   }
   double quartile(int no)  
{
    double quart=0;
    int size=data.length, temp;
   
    if(no<1 && no>3)        
{   
     System.out.println("Quartile should be more than 1 and less than 3..");
     quart=-1;
    }
    else      
{
     if(no==1)
          no=25;
     else if(no==2)
          no=50;
     else
          no=75;
     temp=(no*size)/100;
     if( temp == (double)(no*size)/100)            
  {
          quart=(double)(data[temp]+data[temp-1])/2;
     }
     else          
{
          quart=(double)data[temp];
     }
    }
    return quart;
   }
   double IQR()   
{
    return this.quartile(3)-this.quartile(1);
   }
   void sort() 
{
    int temp,size;
    size=data.length;
    for(int i=0;i<size;i++)
    {
     for(int j=0;j<size;j++)
     {
          if(data[i]<data[j])
          {
              temp=data[i];
              data[i]=data[j];
              data[j]=temp;
          }
     }
    }
   }
}
class student{
   int rollno,marks[];
   String name;
   student()
   {
    marks=new int[6];
   }
   void getdata()  throws IOException
   {
    name=new String();
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter RollNo");
    rollno=Integer.parseInt(br.readLine());
    System.out.println("Enter Name");
    name=br.readLine();
    System.out.println("Enter Marks");
    for(int i=0;i<6;i++)
    {
     System.out.println("Subject " + (i+1) + " : ");
     marks[i]=Integer.parseInt(br.readLine());
    }
   }
   int gettotalmarks()
   {
    int total=0;
    for(int i=0;i<6;i++)
    {
     total=total+marks[i];
    }
    return total;
   }
}
class teststats{
   public static void main(String args[]) throws IOException
   {
    int total[],no;
     student stud[];
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter Number of Students:");
     no=Integer.parseInt(br.readLine());
     stud=new student[no];
     total=new int[no];
     for(int i=0;i<no;i++)
     {
      stud[i]=new student();
      stud[i].getdata();
     }
     for(int i=0;i<no;i++)
     {
      total[i]=stud[i].gettotalmarks();
     }       
    total=new int[args.length];      
    for(int i=0;i<total.length;i++)
    {
     total[i]=Integer.parseInt(args[i]);
    }   
    Statistical_data stats=new Statistical_data();
    stats.setdata(total);
    System.out.println("MEAN:"+stats.mean());
    System.out.println("MEDIAN:"+stats.median());
    System.out.println("MODE:"+stats.mode());      System.out.println("PERCENTILE:"+stats.percentile(25));
    System.out.println("VARIANCE:"+stats.variance());
    System.out.println("STANDARD DEVIATION:"+stats.standard_deviation());
    System.out.println("Q3:"+stats.quartile(3));
    System.out.println("Q2:"+stats.quartile(2));
    System.out.println("Q1:"+stats.quartile(1));
    System.out.println("INTERQUARTILE DEVIATION:"+stats.IQR());
   }
}