C program for Quantitative Analysis of given data

C program for various statistical descriptions (Mean, Median, Mode,variance, standard deviation) of data and comments about characteristics of data. (i.e. Symmetric or skewed distributed)

Code:


#include <stdio.h>

#include <stdlib.h>

#include<math.h>


struct entry{

int value;

int frequency;

int meandiffs;

};

int main()

{

int n,i=0,j=0,temp=0,ci=0,x=0,larfrei=0;

float mean=0.0,median=0.0,variance=0.0;

int sig=0;

printf("Enter Number of Values:");

scanf("%d",&n);

struct entry *v = (struct entry*) malloc(n*sizeof(struct entry));

int *aray = (int*)malloc(n*sizeof(int));

printf("Enter Values: ");

for(i=0;i<n;i++){

scanf("%d",&aray[i]);

mean=mean+aray[i];

v[i].value=0;

v[i].frequency=0;

v[i].meandiffs=0;

}

mean = mean / n;

printf("Mean is: %.2f\n",mean);

for(i=0;i<n-1;i++){

for(j=0;j<n-1;j++){

if(aray[j]>aray[j+1]){

temp = aray[j];

aray[j]=aray[j+1];

aray[j+1]=temp;

}}}

if(sizeof(aray)%2==0){

median = ((float)aray[(n-1)/2]+(float)aray[(n/2)])/2;

}

else{median = aray[(n/2)];}

printf("Median is: %.2f\n",median);

v[0].value=aray[0];v[0].frequency=1;ci++;

for(i=1;i<n;i++){

sig=0;

for(x=0;x<ci;x++){

if(v[x].value==aray[i]){v[x].frequency++;sig=1;}

}

if(!sig){

v[ci].value=aray[i];v[ci].frequency=1;ci++;

}

}

printf("Value \tFrequency \t(X-Mean) \t(X-Mean)^2\n");

for(i=0;i<ci;i++){

v[i].meandiffs=pow((v[i].value-mean),2)*v[i].frequency;

variance = variance + v[i].meandiffs;

printf(" %d\t %d\t\t %.2f\t\t%.2f\n",v[i].value,v[i].frequency,v[i].value-mean,pow((v[i].value-mean),2));

if(v[i].frequency > v[larfrei].frequency){larfrei = i;}

}

if(v[larfrei].frequency==1){printf("All Numbers Have Same Frequency:1\n");}

else{

printf("Largest Frequency Number: %d Having Frequency: %d\n",v[larfrei].value,v[larfrei].frequency);

}

printf("Variance is: %.2f\n",round((variance/n)));

printf("Standard Deviation is: %.2f\n\n",round((sqrt(variance/n))));

if(mean>median){printf("Characteristic of Data: Data is Right Skewed\n");}

else if(mean<median){printf("Characteristic of Data: Data is Left Skewed\n");}

else{printf("Characteristic of Data: Data is Symmetric\n");}

}

Comments

Popular posts from this blog

C program to evaluate Prefix Expression using Stack data structure

Java Program to Implement sorting algorithm using TCP on Server application

C++ program to perform data transformation Min-max and Z score Normalization