커뮤니티

중앙값함수(median) 수정

프로필 이미지
예그리나
2018-02-11 18:35:34
182
글번호 116522
답변완료
중앙값(median)을 구하는 c 함수인데요 이걸 수정해 주시겠습니까? 평균값아닙니다. 원하는 건 일정한 기간내에서 중앙값을 찾는 함수를 만드는거에요 for(i=0; i<n-1; i++) { for(j=i+1; j<n; j++) { if(x[j] < x[i]) { // swap elements temp = x[i]; x[i] = x[j]; x[j] = temp; } } } if(n%2==0) { // if there is an even number of elements, return mean of the two elements in the middle return((x[n/2] + x[n/2 - 1]) / 2.0); } else { // else return the element in the middle return x[n/2]; 그럼 수고하세요
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-13 11:45:54

안녕하세요 예스스탁입니다. 예스랭귀지로 변경하면 아래와 같습니다. X를 배열변수로 만들고 값을 지정하셔야 합니다. 수식에서는 배열변수 X에 이전 n개의 종가를 저장했습니다. input: N(10); var : y(0),j(0),temp(0); Array : X[100](0); for y = 0 to N-1 { X[y] = C[y]; } for y = 0 to n-2 { for j = y+1 to n-1; { if(x[j] < x[y]) then { // swap elements temp = x[y]; x[y] = x[j]; x[j] = temp; } } } if(n%2==0) then { var1 = (x[n/2] + x[n/2 - 1]) / 2.0; } else { var1 = x[n/2]; } plot1(var1); 즐거운 하루되세요 > 예그리나 님이 쓴 글입니다. > 제목 : 중앙값함수(median) 수정 > 중앙값(median)을 구하는 c 함수인데요 이걸 수정해 주시겠습니까? 평균값아닙니다. 원하는 건 일정한 기간내에서 중앙값을 찾는 함수를 만드는거에요 for(i=0; i<n-1; i++) { for(j=i+1; j<n; j++) { if(x[j] < x[i]) { // swap elements temp = x[i]; x[i] = x[j]; x[j] = temp; } } } if(n%2==0) { // if there is an even number of elements, return mean of the two elements in the middle return((x[n/2] + x[n/2 - 1]) / 2.0); } else { // else return the element in the middle return x[n/2]; 그럼 수고하세요