커뮤니티
중앙값함수(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];
그럼 수고하세요