최대 최소 구하는건데요.
파란
질문 제목 :
함수에서새로운 배열로 값을 치환하는게 문제에요.
최대값을 구하는 토너먼트 식에서 떨어진 값을 다른 배열로 옮겨넣는거에요.
질문 내용 :
#includestdio.h
#includestdlib.h
int l[100];
int Winner(int array[], int n);
int main(void)
{
int i, n;
int size=0, * array1 =(int*)calloc(size, sizeof(int));
int * array2 =(int*)calloc(size, sizeof(int)); //up
int * array3 =(int*)calloc(size, sizeof(int));//down
int *p=0, *q=0;
printf(Array 개수를 입력하세요. \n);
scanf(%d, &size);
n=size;
printf(입력한 %d 개 만큼 Array를 입력하시오.\n, size);
for(i=0;isize;i++)
scanf(%d, &array1[i]);max=Winner(array1, size);
printf(%d\n, max);
for(i=0;isize/2;i++) //l 배열을 출력하기
printf(l = %d\n, l[i]);
return 0;
}
int Winner(int array[], int n)
{
int a, b;
static int k=0;
if ( n == 1 ) return array[0];
a = Winner(array+0, n/2);
b = Winner(array+n/2, n-(n/2));
if(ab) //l배열에 넣기
{l[k]=b;
k++;
return a;
}
else
{ l[k]=a;
k++;
return b;
}
}토너먼트식으로 최대값 구하는 거에서 떨어진 값들을 l배열에 넣는데 자꾸 이상한것만 들어가네요.
고수님들의 검정 부탁드립니다.