Advertisement
tampurus

5 Mean Deviation about Mean, median & Mode

Oct 25th, 2023 (edited)
777
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. const int MAX_SIZE = 25;
  4.  
  5. void About_Mean(int ci[][2], int fre[], int n){
  6.     int mid[n];
  7.     for(int i=0 ; i<n ; i++){
  8.         mid[i] = (ci[i][0]+ci[i][1])/2;
  9.     }
  10.    
  11.     long long int sum =0 , N=0;
  12.     for(int i=0 ; i<n ; i++){
  13.         sum += (fre[i]*mid[i]);
  14.         N += fre[i];
  15.     }
  16.    
  17.     float mean = (float)sum / (float)N ;
  18.    
  19.     long int sumk = 0;
  20.    
  21.     for(int i=0 ; i<n ; i++){
  22.         float temp = mid[i] - mean;
  23.         if(temp<0)
  24.             temp *= -1;
  25.         sumk += (temp * fre[i] );
  26.     }
  27.    
  28.     float mean_dev = (float) sumk / (float) N;
  29.     printf("\nMean deviation about mean is %.3f \n",mean_dev);
  30. }
  31.  
  32. void About_Median(int ci[MAX_SIZE][2], int fre[MAX_SIZE], int n ){
  33.    
  34.     int mid[n];
  35.     for(int i=0 ; i<n ; i++){
  36.         mid[i] = (ci[i][0]+ci[i][1])/2;
  37.     }
  38.    
  39.     int cf[n];
  40.     int size = ci[0][1] - ci[0][0];
  41.     long int N =0;
  42.     for(int i=0 ; i<n ; i++){
  43.         N+=fre[i];
  44.         cf[i] = N;
  45.     }
  46.     float Nby2 = (float)N/2;
  47.     float L,F,CF;
  48.     for(int i=0 ; i<n ; i++){
  49.         if(Nby2<cf[i]){
  50.             L = ci[i][0];
  51.             F = fre[i];
  52.             CF = cf[i-1];
  53.             break;
  54.         }
  55.     }
  56.    
  57.     float K = (Nby2 - CF)/ F;
  58.     float median = L + (K*size);
  59.    
  60.     long int sumk = 0;
  61.    
  62.     for(int i=0 ; i<n ; i++){
  63.         float temp = mid[i] - median;
  64.         if(temp<0)
  65.             temp *= -1;
  66.         sumk += (temp * fre[i] );
  67.     }
  68.    
  69.     float mean_dev = (float) sumk / (float) N;
  70.     printf("\nMean deviation about median is %.3f \n",mean_dev);
  71.    
  72. }
  73. void About_Mode(int ci[MAX_SIZE][2], int fre[MAX_SIZE], int n){
  74.    
  75.     int mid[n];
  76.     for(int i=0 ; i<n ; i++){
  77.         mid[i] = (ci[i][0]+ci[i][1])/2;
  78.     }
  79.    
  80.     float f1=fre[0];
  81.     int index =0;
  82.     for(int i=1 ; i<n ; i++){
  83.         if(f1<fre[i]){
  84.             f1 = fre[i];
  85.             index = i;
  86.         }
  87.     }
  88.    
  89.     float f0 = fre[index-1] , f2= fre[index+1];
  90.    
  91.     float k = (f1-f0)/( (2*f1) - f2 - f0);
  92.     float size = ci[0][1] - ci[0][0];
  93.     float mode = ci[index][0] + (k*size);
  94.    
  95.     long int sumk = 0 , N = 0 ;
  96.    
  97.     for(int i=0 ; i<n ; i++){
  98.         N += fre[i];
  99.         float temp = mid[i] - mode;
  100.         if(temp<0)
  101.             temp *= -1;
  102.         sumk += (temp * fre[i] );
  103.     }
  104.    
  105.     float mean_dev = (float) sumk / (float) N;
  106.     printf("\nMean deviation about mode is %.3f \n",mean_dev);
  107.    
  108. }
  109. int main()
  110. {
  111.     int n;
  112.     int ci[MAX_SIZE][2],fre[MAX_SIZE];
  113.     printf("Enter the number of elements \n");
  114.     scanf("%d",&n);
  115.    
  116.    
  117.     printf("\nEnter CI one by one \n");
  118.     for(int i=0 ; i<n ; i++){
  119.         for(int j=0 ; j<2 ; j++){
  120.             scanf("%d",&ci[i][j]);
  121.         }
  122.     }
  123.    
  124.     printf("\nNow enter the %d frequencies : \n",n);
  125.     for(int i=0 ; i<n ; i++){
  126.         scanf("%d",&fre[i]);
  127.     }
  128.    
  129.     // now calling function which will print the mean
  130.     About_Mean(ci, fre, n);
  131.    
  132.     // now callign function which will print the median of the given data
  133.     About_Median(ci, fre, n);
  134.    
  135.     // now calling function which will print the mode of given data
  136.     About_Mode(ci, fre, n);
  137.  
  138.     return 0;
  139. }
  140.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement