Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình cho giá trị trung bình và giá trị trung bình của một mảng không được sắp xếp trong C ++


Được đưa ra với một mảng của một mảng không được sắp xếp và nhiệm vụ là tính giá trị trung bình và giá trị trung bình của một mảng không được sắp xếp.

Để tính giá trị trung bình

Giá trị trung bình được tính để tìm ra giá trị trung bình. Chúng ta có thể sử dụng công thức đã cho để tìm ra giá trị trung bình

Mean =(tổng tất cả các phần tử của một mảng) / (tổng số phần tử

Để tính giá trị trung bình

Nếu một mảng được sắp xếp, giá trị trung bình là phần tử giữa của mảng trong trường hợp số phần tử lẻ trong một mảng và khi số phần tử trong một mảng chẵn hơn nó sẽ là trung bình của hai phần tử ở giữa.

Nếu mảng không được sắp xếp, nhiệm vụ đầu tiên là sắp xếp mảng và sau đó chỉ có thể áp dụng logic đã cho

Nếu n là số lẻ

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

Nếu n chẵn

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

Đầu vào

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

Đầu ra

Mean is : 4.33333
Median is : 4

Đầu vào

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

Đầu ra

Mean is: 4.5
Median is: 4.5

Thuật toán

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

Ví dụ

#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;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Mean is : 4.33333
Median is : 4