Monday, 28 January 2013

CONSM Practical-3

3. Find coefficient of variation and co-efficient of skewness for the given data for discrete and continuous frequency distribution
#include<stdio.h>
#include<conio.h>
#include<math.h>
void discrete();
void continuous();
void main()
{
    int ch;
    clrscr();

    do
    {
        printf("\n\n1. Discrete Data\n2. Continious Data 3. Exit\n");
        printf("\nEnter Choice : ");
        scanf("%d",&ch);

        switch(ch)
        {
            case 1:discrete();break;
            case 2:continuous();break;
        }

    }while(ch<3);

    getch();
}

void discrete()
{
    float *xi,*fi,*cfi,i,n,ch,tot=0,totfi=0;
    float midfi,am,m,sd,ex=0.0,ex2=0.0,efx2=0.0;

    printf("\nFor Discrete Data\n");
    printf("\nEnter Number of Elements : ");
    scanf("%f",&n);

    xi=new float[n];
    fi=new float[n];
    cfi=new float[n];

    printf("\nEnter All xi : ");
    for(i=0;i<n;i++)
        scanf("%f",&xi[i]);

    printf("\nEnter Frequency : ");
    for(i=0;i<n;i++)
    {
        scanf("%f",&fi[i]);
        tot+=fi[i]*xi[i];
        totfi+=fi[i];
    }

    cfi[0]=fi[0];
    for(i=1;i<n;i++)
        cfi[i]=cfi[i-1]+fi[i];

    am=tot/float(totfi);
    for(i=0;i<n;i++)
    {
        ex+=(xi[i]-am);
        ex2+=(xi[i]-am)*(xi[i]-am);
        efx2+=fi[i]*(xi[i]-am)*(xi[i]-am);
    }

    printf("\n\nxi\tfi\tcfi\t(xi-x)\t(xi-x)^2f(xi-x)^2");
    for(i=0;i<n;i++)
        printf("\n%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f",xi[i],fi[i],cfi[i],(xi[i]-am),(xi[i]-am)*(xi[i]-am),fi[i]*(xi[i]-am)*(xi[i]-am));
      
    midfi=cfi[n-1]/2.0;
    for(i=0;i<n;i++)
    {
        if(midfi>cfi[i])
            m=xi[i+1];
    }

    sd=sqrt(efx2/float(totfi));
    printf("\n\nMean : %.2f\nS.D. : %.2f\nMedian : %.2f",am,sd,m);
    printf("\n\nCoEfficient of Variation : %.2f",(sd/am)*100);
    printf("\nCoEfficient of Skewness : %.2f",(3*(am-m))/sd);

}
void continuous()
{
    int *ll,*hl,l,h,interval,n=0,i,fl,f,xl;
    float *xi,*fi,*cfi,ch,tot=0,totfi=0;
    float midfi,mid,am,m,sd,ex=0.0,ex2=0.0,efx2=0.0;

    printf("\nFor Continuous Data\n");
    printf("\nEnter Minimum Lowest Limit : ");
    scanf("%d",&l);

    printf("\nEnter Maximum Heighest Limit : ");
    scanf("%d",&h);

    printf("\nEnter Interval : ");
    scanf("%d",&interval);

    for(i=0;i<(h-l)/interval;i++)
        n++;

    ll=new int[n];
    hl=new int[n];
    xi=new float[n];
    fi=new float[n];
    cfi=new float[n];

    printf("\nEnter Frequency : ");
    for(i=0;i<n;i++)
    {
        ll[i]=l+i*interval;
        hl[i]=ll[i]+interval;
        xi[i]=(ll[i]+hl[i])/2.0;

        scanf("%f",&fi[i]);
        tot+=fi[i]*xi[i];
        totfi+=fi[i];
    }

    cfi[0]=fi[0];
    for(i=1;i<n;i++)
        cfi[i]=cfi[i-1]+fi[i];

    am=tot/float(totfi);
    for(i=0;i<n;i++)
    {
        ex+=(xi[i]-am);
        ex2+=(xi[i]-am)*(xi[i]-am);
        efx2+=fi[i]*(xi[i]-am)*(xi[i]-am);
    }

    printf("\n\nxi\tfi\tcfi\t(xi-x)\t(xi-x)^2f(xi-x)^2");
    for(i=0;i<n;i++)
        printf("\n%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f",xi[i],fi[i],cfi[i],(xi[i]-am),(xi[i]-am)*(xi[i]-am),fi[i]*(xi[i]-am)*(xi[i]-am));
      

    midfi=cfi[n-1]/2.0;
    for(i=0;i<n;i++)
    {
        if(midfi>cfi[i])
        {
            m=xi[i+1];
            xl=ll[i];
            (i!=0)?(fl=fi[i-1]):(fl=0);
            f=fi[i];
        }
    }

    mid=xl+(((m-fl)/f)*interval);
    sd=sqrt(efx2/float(totfi));
    printf("\n\nMean : %.2f\nS.D. : %.2f\nMedian : %.2f",am,sd,m);
    printf("\n\nCoEfficient of Variation : %.2f",(sd/am)*100);
    printf("\nCoEfficient of Skewness : %.2f",(3*(am-mid))/sd);

}
Click Here to Download
OUTPUT
Discrete Data

Continuous Data


No comments:

Post a Comment