Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมสำหรับค่าเฉลี่ยและค่ามัธยฐานของอาร์เรย์ที่ไม่เรียงลำดับใน C++


กำหนดให้กับอาร์เรย์ของอาร์เรย์ที่ไม่ได้เรียงลำดับ และภารกิจคือการคำนวณค่าเฉลี่ยและค่ามัธยฐานของอาร์เรย์ที่ไม่ได้จัดเรียง

สำหรับคำนวณค่าเฉลี่ย

ค่าเฉลี่ยคำนวณเพื่อหาค่าเฉลี่ย เราสามารถใช้สูตรที่กำหนดเพื่อหาค่าเฉลี่ย

ค่าเฉลี่ย =(ผลรวมขององค์ประกอบทั้งหมดของอาร์เรย์) / (จำนวนองค์ประกอบทั้งหมด

สำหรับคำนวณค่ามัธยฐาน

หากจัดเรียงอาร์เรย์ ค่ามัธยฐานคือองค์ประกอบตรงกลางของอาร์เรย์ ในกรณีที่องค์ประกอบมีจำนวนคี่ในอาร์เรย์ และเมื่อจำนวนองค์ประกอบในอาร์เรย์มีค่าเท่ากัน จะเป็นค่าเฉลี่ยขององค์ประกอบกลางสองรายการ

ถ้าอาร์เรย์ไม่ถูกจัดเรียง ภารกิจแรกคือการเรียงลำดับอาร์เรย์ จากนั้นจึงใช้ตรรกะที่กำหนดเท่านั้น

ถ้า n เป็นเลขคี่

1, 2, 3, 4, 5
Median = 3

ถ้า n เป็นคู่

1, 2, 4, 5
Median = (2 + 4) / 2 = 3

ป้อนข้อมูล

arr[] = {3,5,2,1,7,8}

ผลผลิต

Mean is : 4.33333
Median is : 4

ป้อนข้อมูล

arr[] = {1, 3, 4, 2, 6, 5, 8, 7}

ผลผลิต

Mean is: 4.5
Median is: 4.5

อัลกอริทึม

Start
Step 1→ declare function to calculate mean
   double mean(int arr[], int size)
      declare int sum = 0
      Loop For int i = 0 and i < size and i++
         Set sum += arr[i]
      End
      return (double)sum/(double)size
Step 2→ declare function to calculate median
   double median(int arr[], int size)
      call sort(arr, arr+size)
      IF (size % 2 != 0)
         return (double)arr[size/2]
      End
      return (double)(arr[(size-1)/2] + arr[size/2])/2.0
Step 3→ In main()
   Declare int arr[] = {3,5,2,1,7,8}
   Declare int size = sizeof(arr)/sizeof(arr[0])
   Call mean(arr, size)
   Call median(arr, size)
Stop

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
//calculate mean
double mean(int arr[], int size){
   int sum = 0;
   for (int i = 0; i < size; i++)
      sum += arr[i];
   return (double)sum/(double)size;
}
//calculate median
double median(int arr[], int size){
   sort(arr, arr+size);
   if (size % 2 != 0)
      return (double)arr[size/2];
   return (double)(arr[(size-1)/2] + arr[size/2])/2.0;
}
int main(){
   int arr[] = {3,5,2,1,7,8};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout << "Mean is : " << mean(arr, size)<<endl;
   cout << "Median is : " << median(arr, size) << endl;
   return 0;
}

ผลลัพธ์

หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

Mean is : 4.33333
Median is : 4