কম্পিউটার টিউটোরিয়াল

দেওয়া লিস্টের মেডিয়ান (Median) বের করার C প্রোগ্রাম


যদি লিস্টের এলিমেন্টগুলো ক্রমবদ্ধভাবে সাজানো থাকে, তবে মাঝপথের যে মানটি আইটেমগুলোকে সমান সংখ্যক আইটেম সহ দুটি অংশে ভাগ করে সেটিকে মেডián বলা হয়।

বিজোড় সংখ্যক আইটেমের শুধু একটি মাঝপথি মান থাকে; জোড় সংখ্যক আইটেমের দুটি মাঝপথি মান থাকে।

জোড় সংখ্যক আইটেমের মেডিয়ান তাই দুটি মাঝপথি মানের গড় হিসেবে নির্ধারিত হয়।

অ্যালগরিদম

মেডিয়ান ক্যালকুলেট করার অ্যালগরিদম নিচে দেওয়া হলো:

স্টেপ ১ - আইটেম কাউন্ট রেখে অ্যারেতে আইটেমগুলো পড়ুন।

স্টেপ ২ - আইটেমগুলো ক্রমবর্ধমান ক্রমে সাজান।

স্টেপ ৩ - মেডিয়ান কম্পিউট করুন।

মেডিয়ান বের করার আগে নম্বরগুলো সাজানোর লজিক নিম্নরূপ:

for (i = 1 ; i <= n-1 ; i++){    for (j = 1 ; j <= n-i ; j++){       if (a[j] <= a[j+1]){          t = a[j];          a[j] = a[j+1];          a[j+1] = t;       } else       continue ;    } }

লিস্টের মেডিয়ান বের করার লজিক নিম্নরূপ:

if ( n % 2 == 0)    median = (a[n/2] + a[n/2+1])/2.0 ; else    median = a[n/2 + 1];

উদাহরণ

দেওয়া সংখ্যাগুলোর মেডিয়ান ক্যালকুলেট করার C প্রোগ্রাম:

#include<stdio.h> #define N 10 main( ){    int i,j,n;    float median,a[N],t;    printf("Enter the number of items\n");    scanf("%d", &n);    /* Reading items into array a */    printf("Input %d values \n",n);    for (i = 1; i <= n ; i++)    scanf("%f", &a[i]);    /* Sorting begins */    for (i = 1 ; i <= n-1 ; i++){ /* Trip-i begins */       for (j = 1 ; j <= n-i ; j++) {          if (a[j] <= a[j+1]) { /* Interchanging values */             t = a[j];             a[j] = a[j+1];             a[j+1] = t;          }          else          continue ;       }    } /* sorting ends */    /* calculation of median */    if ( n % 2 == 0)       median = (a[n/2] + a[n/2+1])/2.0 ;    else    median = a[n/2 + 1];    /* Printing */    for (i = 1 ; i <= n ; i++)    printf("%f ", a[i]);    printf("\n\nMedian is %f\n", median); }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:

Enter the number of items 5 Input 5 values 2.3 1.2 3.8 4.6 8.9 8.900000 4.600000 3.800000 2.300000 1.200000 Median is 3.800000

  1. স্ট্রিং অ্যারের সব পারমুটেশন বের করার C প্রোগ্রাম

  2. লিংকড লিস্টের দৈর্ঘ্য বের করার C প্রোগ্রাম

  3. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  4. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে বড় সংখ্যা বের করা