Đượ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