정렬되지 않은 배열의 배열이 주어지고 작업은 정렬되지 않은 배열의 평균과 중앙값을 계산하는 것입니다.
평균 계산용
평균은 평균을 찾기 위해 계산됩니다. 주어진 공식을 사용하여 평균을 찾을 수 있습니다.
평균 =(배열의 모든 요소의 합) / (총 요소 수
중앙값 계산용
배열을 정렬하면 배열의 원소의 개수가 홀수인 경우 중앙값이 배열의 중간 원소가 되고, 배열의 원소의 개수가 짝수보다 클 경우 중간 원소 2개의 평균이 됩니다.
배열이 정렬되지 않은 경우 첫 번째 작업은 배열을 정렬한 다음 지정된 논리만 적용할 수 있습니다.
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